質問が言うように。(切り捨てられた)文字列表現への/からの変換は、それらの精度に影響を与える可能性があります。しかし、ピクルスのような他の形式でそれらを保存すると、それらは読めなくなります(はい、私もこれが欲しいです)。
精度を失うことなく浮動小数点数をテキストに格納するにはどうすればよいですか?
質問が言うように。(切り捨てられた)文字列表現への/からの変換は、それらの精度に影響を与える可能性があります。しかし、ピクルスのような他の形式でそれらを保存すると、それらは読めなくなります(はい、私もこれが欲しいです)。
精度を失うことなく浮動小数点数をテキストに格納するにはどうすればよいですか?
バイナリまたはその累乗で格納します。
>>> (3.4).hex()
'0x1.b333333333333p+1'
>>> float.fromhex('0x1.b333333333333p+1')
3.4
組み込み関数を使用することをお勧めしますrepr()
。ドキュメントから:
repr(オブジェクト)->文字列
オブジェクトの正規の文字列表現を返します。ほとんどのオブジェクトタイプでは、eval(repr(object))==objectです。
pickle.dumps
それを行うでしょうが、私も信じていfloat(str(floatval)) == floatval
ます-少なくとも同じシステムでは...