我已经看到了一些与此相关的问题,但我读到的这些问题都没有帮助我真正理解为什么我想做的事情失败了。
所以我有一堆浮点值,它们有不同的精度。有些是 0.1,其他是 1.759374 等。我想格式化它们,以便它们全部采用我尝试做的“+0.0000000E+00”的形式
number = '%1.7f' % oldnumber
但这没有用。我以为我告诉它要做的是“一位数字代表小数点,后面的 7 位为浮点数”,但它不起作用。我并没有真正得到文档中的示例,这些示例似乎甚至不关心“小数点前后”问题,而且我没有找到有关小数点固定前后的问题。
现在,我知道我的一些数字是 0.0437 或类似的数字,我希望它们显示为 4.3700000E-02 或其他数字。我有点希望它能自己完成 E 位,但如果不能,我该怎么做呢?
这是我的确切行:
RealValConv = '%1.7g' % struct.unpack('!f', RealVal.decode('hex'))[0]
RealVal 是一个十六进制数字,代表我想要的值。
另外,这是在 Python 2.7 中
>>> '{:.7e}'.format(0.00000000000000365913456789)
'3.6591346e-15'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)