如何在文件中编写-2.12683575e-04的实际值(Python)

时间:2016-07-12 02:31:40

标签: python

我目前正在使用非常小的值,当我尝试在文件中写入 -0.000212683575 这样的值时,它会写我 -2.12683575e-04 。 问题是,如果数字太多,我希望将此值 -0.000212683575 写入文件中,或者至少将此值 -0.00021268

我怎么能这样做?

我使用的是Python 2.7

非常感谢

2 个答案:

答案 0 :(得分:2)

Python允许您选择格式。例如,这给出了您不想要的科学记数:

>>> x =  -0.00021268357
>>> '{:.2e}'.format(x)
'-2.13e-04'

但是,这种格式给出了您喜欢的十进制表示法:

>>> '{:.9f}'.format(x)
'-0.000212684'

我们在写文件时可以使用这些格式:

>>> with open('output', 'w') as f:
...     f.write('{:.9f}'.format(x))
... 
>>> open('output').read()
'-0.000212684'

您可以阅读format方法及其所有复杂而强大的功能here

Python还提供printf样式格式。例如:

>>> '%f' % x
'-0.000213'
>>> '%e' % x
'-2.126836e-04'

答案 1 :(得分:0)

在文件中写一个数字时,你可以把它写成一个字符串,它就是你所需要的。例如:

>>> num = -0.000212683575
>>> f = open("a.txt","w")
>>> f.write(str(num))
>>> f.close()
>>> open("a.txt","r").read()
'-0.000212683575'
>>>