如何打印没有指数形式/科学记数法的十进制数字



要打印一个没有指数形式的浮点数,我们可以这样写:

print('%f' % (10**-8))

但由于精度误差,这通常显示为零。相反,我们可以使用Decimal.decimal(float)精确地打印浮点数字。但这会以指数格式打印数字,即10e-10。我似乎无法将它们组合起来,因为我不知道如何像使用'%f'格式化浮点那样格式化Decimal

所以我的问题是,如何按照我想要的方式完成这件事?

注意:这里使用的power-8只是一个例子。功率可能是可变的。此外,我想知道是否可以高精度地打印两个数字的差值。

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

相关内容

  • 没有找到相关文章

最新更新