格式化python中的指数

时间:2017-08-29 21:01:07

标签: python python-2.7 number-formatting

我有一个像1.0e-4,1.0e-10,1.5e-12的数字。我想把这些数字写入丢弃小数后的数字的文件,如1e-4,1e-10,1e-12。 %g似乎对第二个数字有所帮助,但它有大于5的指数限制。我想要1e + 00,即使是1.0。对于1.0e-4,我得到1.000000e-04,%e和str()。

1 个答案:

答案 0 :(得分:0)

方法1(不适用于小于5的指数):

使用"%.0g" % 1.5e-12

如果您想更改1.5e-12,您可以随时使用变量

"%.0g" % 1.5e-12提供'2e-12'

的输出

"%.0g" % 1.0e-4提供'0.0001'

的输出

方法2(适用于任意数量的指数):

为了能够使用任意数量的指数,请使用:

from decimal import *
'%.1e' % Decimal("%.0g" % 1.5e-12)

使用此代码:

'%.1e' % Decimal("%.0g" % 1.5e-12)提供'2.0e-12'

的输出

'%.1e' % Decimal("%.0g" % 1.0e-4)提供'1.0e-04'

的输出

修改

使用:

from decimal import *
'%.0e' % Decimal("%.0g" % 1.5e-12)

2e-12而不是2.0e-12