Я вытягиваю сумму из базы данных, которая является десятичным значением. Я пытаюсь использовать это значение в результате JSONDecimal to JSON
json.dumps({ 'sum': amount }) #where amount is my Decimal
Джанго не может сериализовать Decimal
. Я могу преобразовать его в строку, но мне нужен цифровой тип в JSON. Если я попытаюсь преобразовать его в float
, я получаю более двух знаков после запятой.
Что должно произойти, если возможно, чтобы получить результат следующим образом?
{ 'sum': 500.50 }
Я не знаю много о Джанго, но если вам нужны два знака после запятой всегда, и это не возможно сделать именно то, что вы хотите, чтобы вы могли умножить на 100 и работать с ним как целое. – cambraca
JSON определяется только для чисел с плавающей запятой двойной точности. Что вы купите, чтобы ваши цифры были Десятичными? – Gabe
Мне не нужно, чтобы мои цифры были десятичными, они никогда не будут такими большими. Это именно то, что я получаю от БД, поскольку это денежные ценности. Я не был в восторге от использования int * 100, и поплавки дают мне больше двух знаков после запятой. Я просто надеялся, что будет более элегантное решение ... – Justin