我目前正在使用非常小的值,当我尝试在文件中写入 -0.000212683575 这样的值时,它会写我 -2.12683575e-04 。 问题是,如果数字太多,我希望将此值 -0.000212683575 写入文件中,或者至少将此值 -0.00021268 。
我怎么能这样做?
我使用的是Python 2.7
非常感谢
答案 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'
>>>