Форум сайта python.su
json работает так:
>>> json.dumps(1.1)
'1.1000000000000001'
вопрос - как исправить? мне надо, чтобы json.dumps срабатывал как str(1.1) в отношении float-чисел
Офлайн
Где?
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24)
In [1]: import json
In [2]: json.dumps(1.1)
Out[2]: '1.1'
In [3]: import simplejson
In [4]: simplejson.dumps(1.1)
Out[4]: '1.1'
Офлайн
python 2.6 модуль json, операционка fedora
я знаю, что воспроизводится не всегда и не везде. видел такие “преобразования” на другой системе, но там это было не важно.
Офлайн
Сейчас нет под рукой fedor'ы - вот тут, похоже проблему решили:
http://stackoverflow.com/questions/1447287/format-floats-with-standard-json-module
Офлайн
s0rg, спасибо большое! Вы очень помогли!
Я сам гуглил, но не нашёл…
процитирую решение:
from json import encoder
encoder.FLOAT_REPR = lambda o: format(o, '.2f')
Офлайн