解析十进制值问题

时间:2017-08-31 11:22:05

标签: javascript jquery json asp.net-mvc jsonparser

我在JSONResult中从控制器传递确切的Id(即123456789123456.99),但是当我在AJAX响应中得到值时,我得到Id(即123456789123456.98)。

我在解析数据时观察到JavaScript中的奇怪行为。请查看下图。在通过JSON解析之后,任何人都可以帮助我在这里获得相同的ID。

enter image description here

1 个答案:

答案 0 :(得分:2)

Id值过大。 JavaScript对数字使用双精度浮点数,它们具有大约15位数的精度。 JavaScript可以可靠保存的最高整数类似于2 ^ 51。这就是解析时值被四舍五入的原因。

但是,您可以通过将数字作为字符串发送来解决此限制:

var res = '{"Id":"123456789123456.99"}';