我希望打印出浮点数
- 使用十进制表示
- 无多余的零
例如:
1e-5 -> 0.00001
1.23e-4 -> 0.000123
1e-8 -> 0.00000001
以下是一些不起作用的方法:
str(x)
输出小浮点数的科学计数法
format(x, 'f')
和 "{:f}".format(x)
有固定数量的小数位,因此会保留尾随零。
('%f' % x).rstrip('0').rstrip('.')
会将1e-8
四舍五入到0
。
from decimal import Decimal
(Decimal('0.00000001000').normalize())
使用科学计数法
%0.10f
要求我提前知道浮点数的精度。
%.15f
即可。 - eugenhu