要打印不带指数形式的浮点数,我们可以这样写:
print('%f' % (10**-8))
但是由于精度误差,通常显示零。另外,我们可以使用Decimal.decimal(float)
来精确打印浮点数。但这会以指数格式(即10e-10
)打印数字。而且我似乎无法将它们组合在一起,因为我不知道如何像我使用decimal
来格式化“ float”一样格式化'%f'
。所以我的问题是,如何按照我想要的方式完成此任务?
编辑:例如,此处使用的-8号电源。功效可以是可变的。我也想知道我是否可以高精度地打印两个数字的差。
答案 0 :(得分:1)
from decimal import Decimal
print('%.8f' % Decimal(10**-8))
输出:
0.00000001
要动态指定小数位,可以使用以下方法:
from decimal import Decimal
power = 10
print('%.*f' % (power, Decimal(10**-power)))
打印:
0.0000000001