【发布时间】:2018-06-05 12:52:57
【问题描述】:
我想使用 Python 3.6+ 以科学计数法表示 JSON 文件中的浮点数。一个都没有
import json
a = 0.001234567
print(json.dumps(a))
json.encoder.FLOAT_REPR = lambda x: "{:e}".format(x)
print(json.dumps(a))
json.encoder.c_make_encoder = None
json.encoder.FLOAT_REPR = lambda x: "{:e}".format(x)
print(json.dumps(a))
工作:三个prints 都给了
0.001234567
而不是想要的
1.234567e-03
(请注意,最后一个版本至少在 Python 2.7.15rc1 中有效。)
答案也应该适用于floats 的列表。
有什么提示吗?
【问题讨论】:
-
该问题现在被标记为“stackoverflow.com/questions/32521823/… 已有答案”,但该答案不起作用。
-
似乎我们必须找到python 3.6的答案。不过,没有必要提出另一个问题。
-
原始问题中的答案:stackoverflow.com/a/1733105/6451573 没有猴子补丁,值得一试
标签: python json python-3.6