我已经有了一个 现有 阵列 在Python中,充满了数值。有没有一个很好的函数,让我在打印列表时,列表中的每个元素都显示为12位小数?
先谢谢你
我的列表是这样的。[array([-1, -2]),
array([ 0.93396226, -0.45283019]),
array([2.86792453, 1.09433962]),
array([1.86681465, 2.34572697]), ... ]
自从我回答这个问题后,这个问题已经被实质性地编辑过了。下面是老答案。
你只需要在下面的解决方案中增加一步循环即可。
# .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}")
你可以像这样使用f字符串
a = 14.2
b = 14.123131231231231231
print(f'a = {a:.12f}')
print(f'b = {b:.12f}')
输出:
a = 14.200000000000
b = 14.123131231231