如何在python中避免使用e-05

时间:2014-03-31 07:56:30

标签: python int decimal

我有一个Python程序,我计算一些概率,但在一些答案中,我得到f.ex. 8208e-06,但是我希望我的号码能够在常规表格中出现0.000008 ...我该怎么做?

1 个答案:

答案 0 :(得分:8)

您可以使用f格式说明符并指定小数位数:

>>> '{:.10f}'.format(1e-10)
'0.0000000001'

精度默认为6,所以:

>>> '{:f}'.format(1e-6)
'0.000001'
>>> '{:f}'.format(1e-7)
'0.000000'

如果您想删除仅rstrip它们的尾随零:

>>> '{:f}'.format(1.1)
'1.100000'
>>> '{:f}'.format(1.1).rstrip('0')
'1.1'

默认情况下,使用str(或repr)转换为字符串时,python返回给定float的最短表示形式,可能是指数表示法。

这通常是您想要的,因为十进制表示可能会显示应用程序用户通常不想要而且不在乎的表示错误:

>>> '{:.16f}'.format(1.1)
'1.1000000000000001'
>>> 1.1
1.1