2012-06-20 13 views
6

json.dumpsは浮動小数点精度を損なわないことを保証していますか?私のようなJSON変換で話している

>>> a = {'asas': 1/7.0} 
>>> b = json.dumps(a) 
>>> c = json.loads(b) 
>>> c 
{u'asas': 0.14285714285714285} 
>>> c['asas'] == 1.0/7 
True 

は、番号を丸めないことが保証JSONエンコーディングですか?

私のHow to store a floating point number as text without losing precision?では、マークディキンソンは、reprは精度の低下を引き起こさないと言います。 json.dumpsreprを使用していますか?

答えて

6

ありreprの言及はどこにでもjsonドキュメントではありませんが、それは浮動小数点から文字列強制の現在の実装である:

FLOAT_REPR = repr 

Lib/json/encoder.py, line 31)あなた自身を構築することができ

JSONEncoder厳しい保証が必要な場合。

関連する問題