python - 在Python中打印小数点到8位精度?

标签 python python-3.x

以下代码打印各种精度的小数,但恢复为超过 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/

相关文章:

python - 将不同的样式表应用于模板的不同元素

python - 模板化构造函数游标和模板化成员游标在 libclang 中具有 FUNCTION_TEMPLATE 种类

python - 使用 python 重写 if-else 语句,如 javascript 对象字面量

python - numpy 函数的值

python - 如何创建 jinja2 扩展?

python-3.x - Pygame - 使用转义字符或换行符对文本进行 blitting

python - 社区中在同一代码库中使用 python 2.x 和 3.x 的首选方法是什么?

python - 服务器上的 django 应用程序 : apache runs with python 2. 7 而不是 python 3.5

python - 来自数值变量或数值列表的排序数字排列列表,不重复

python - numpy 数组大小的困惑