【发布时间】:2018-03-02 17:54:06
【问题描述】:
是否存在可以用 JSON.parse 解析而不会丢失精度的小数点后两位的最大浮点数?
例如:
JSON.parse('{"amount": 9999999999999.99}')
{amount: 9999999999999.99} // 不输(可能)
JSON.parse('{"amount": 99999999999999.99}')
{amount: 99999999999999.98} // 输
【问题讨论】:
-
是的,有一个限制。有关详细信息,请参阅this answer。
-
但是这个话题并没有回答价值到底是什么的问题。 Number.MAX_SAFE_INTEGER 是更大的数字。
-
对,但你没有整数。因此,您可以准确存储所有 9(该精度的最高十进制值)的有效位数是 15。您的第一个数字有 15 位有效数字,您的第二个数字有更多并且不能按预期工作,因为您已经用完了精度。
标签: javascript json floating-point precision