以下代码打印各种精度的小数,但恢复为超过 7 位的科学记数法。我需要在 UI 中显示至少 8 个位置的字符串宽度。
如何获得 8 位精度的字符串化小数?
from decimal import *
getcontext().prec = 8 # set precision to 8 decimal points.
getcontext().rounding = "ROUND_DOWN" # alway round down
# stringified zero of various precisions
zw = ['0', '0.0', '0.00', '0.000000', '.00000000', '0.00000000', '0.000000000000']
for n in range(0,len(zw)):
zstr = zw[n] # stringified zero
zdec = Decimal(zstr) # decimalized zero
print (zstr, ":", zdec) # compare stringified and decimalized zero
最佳答案
尝试:
from decimal import *
getcontext().prec = 8 # set precision to 8 decimal points.
getcontext().rounding = "ROUND_DOWN" # alway round down
# stringified zero of various precisions
zw = ['0', '0.0', '0.00', '0.000000', '.00000000', '0.00000000', '0.000000000000']
for zstr in zw:
zdec = Decimal(zstr) # decimalized zero
print ('{} : {:.8f}'.format(zstr, zdec)) # compare stringified and decimalized zero
打印:
0 : 0.00000000
0.0 : 0.00000000
0.00 : 0.00000000
0.000000 : 0.00000000
.00000000 : 0.00000000
0.00000000 : 0.00000000
0.000000000000 : 0.00000000
关于python - 在Python中打印小数点到8位精度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51572829/