【发布时间】:2018-01-15 17:34:14
【问题描述】:
这是我从服务器得到的响应
[{"type":"bid","price":0.00000026,"amount":737.15054457,"tid":200001915,"timestamp":1516036570}]
我正在尝试使用
将此字符串解析为 JSONjson_data = json.loads (req.text)
但是,当我尝试使用 json_data[0]['price'] 读取“价格”时,输出为 2.6e-07
我尝试将数据解析为json_data = json.loads (req.text, parse_float=Decimal),但仍然没有区别。
【问题讨论】:
-
这就是python如何表示浮点值0.00000026。它与 JSON 无关。究竟是什么问题?您是否正在尝试用那个不起作用的号码做一些事情?
-
您有正确的值,您的问题仅在于打印时的表示。只需选择不同的格式进行打印,例如
print(format(json_data['price'], '.8f'))。 -
顺便说一句,如果您想要完美的计算,将价格存储为浮点数可能会带来不愉快的影响。将值作为文本读取并从中构造 Python Decimal 可能是有意义的。
标签: python json python-3.x floating-point