如何将浮点数存储为文本而不会丢失精度?

Jes*_*ose 7 python floating-point

就像问题所说的那样.转换为(截断的)字符串表示可能会影响它们的精度.但是将它们存储在其他格式(如泡菜)中会使它们变得不可读(是的,我也想要这样).

如何在文本中存储浮点数而不会丢失精度?

Ign*_*ams 8

将其存储在二进制或其中.

>>> (3.4).hex()
'0x1.b333333333333p+1'

>>> float.fromhex('0x1.b333333333333p+1')
3.4
Run Code Online (Sandbox Code Playgroud)


sil*_*ado 3

我建议使用内置函数repr()。从文档中:

repr(对象) -> 字符串

返回对象的规范字符串表示形式。对于大多数对象类型,eval(repr(object)) == object。

  • 问题就在于“最”。“float”并不总是属于这个范围。 (2认同)