Python decimal.Decimal
自动将以下数字(7个零和小数点后的一个)转换为科学记数法:
d = decimal.Decimal('0.00000001')
import simplejson; simplejson.dumps({"val": d})
'{"val": 1E-8}' #what do I do so the output is '{"val": 0.00000001}' (float, not string)?
如何更改此设置以使JSON输出为0.00000001
而不是1E-8
?
我无法使用solutions that employ format
,因为它将类型更改为string
,但我需要保留以键入十进制(或至少浮点数)。
某些上下文:输出作为API的JSON响应发送,客户端期望以十进制表示法浮点数。将其转换为科学记数法或将类型更改为字符串会破坏与客户的合同。