打印一个Python数组,每个元素都是12位小数。

问题描述 投票:1回答:3

我已经有了一个 现有 阵列 在Python中,充满了数值。有没有一个很好的函数,让我在打印列表时,列表中的每个元素都显示为12位小数?

先谢谢你

我的列表是这样的。[array([-1, -2]), array([ 0.93396226, -0.45283019]), array([2.86792453, 1.09433962]), array([1.86681465, 2.34572697]), ... ]

python python-3.x list rounding
3个回答
3
投票

自从我回答这个问题后,这个问题已经被实质性地编辑过了。下面是老答案。

你只需要在下面的解决方案中增加一步循环即可。

# .12 means "to twelve decimal places"
# f means format float
format_string = "{:.12f}"

# your existing list of arrays
arrays = [array(0.1466, 5.0), array(16.789, 5.67)]

# go through your list one by one
for an_array in arrays:
    # (or whatever mechanism you use to access each number in an array)
    for number in an_array:
        # format each number using the format string we created above
        print(format_string.format(number))

旧答案 (问题 "如何从列表中打印数字到小数点后12位).

字符串格式化就是答案。这里有一个很好的攻略。

# .12 means "to twelve decimal places"
# f means format float
format_string = "{:.12f}"

# your existing list of numbers
numbers = [0.1466, 5.0, 16.789]

# go through your list one by one
for number in numbers:
    # format each number using the format string we created above
    print(format_string.format(number))

或者,使用令人愉快的f-string语法。

numbers = [0.1466, 5.0, 16.789]

for number in numbers:
    print(f"{number:.12f}")

1
投票

你可以像这样使用f字符串

a = 14.2
b = 14.123131231231231231
print(f'a = {a:.12f}')
print(f'b = {b:.12f}') 

输出:

a = 14.200000000000
b = 14.123131231231
© www.soinside.com 2019 - 2024. All rights reserved.