【发布时间】:2011-04-30 12:14:33
【问题描述】:
我正在从一个十进制值的数据库中提取一个总和。 我正在尝试在 JSON 结果中使用该值
json.dumps( { 'sum': amount } ) #where amount is my Decimal
Django 无法序列化Decimal。
我可以将它转换为字符串,但我想要 JSON 中的数字类型。
如果我尝试将其转换为 float,我最终会得到超过 2 个小数位。
如果可能,需要做什么才能获得如下结果?
{ 'sum': 500.50 }
【问题讨论】:
-
我对 django 了解不多,但是如果您总是需要两位小数,并且不可能完全按照您的要求进行操作,您可以乘以 100 并将其作为整数使用。跨度>
-
JSON 仅被定义为具有数字的双精度浮点数。将数字保留为小数有什么好处?
-
我不需要我的数字是十进制的,它们永远不会那么大。这正是我从数据库中得到的,因为它们是货币价值。我对使用 int * 100 并不感到兴奋,而浮点数给了我两个以上的小数位。我只是希望有一个更优雅的解决方案......