字符串到数字是错误的

时间:2015-10-02 09:11:18

标签: javascript

我正在尝试将字符串转换为Javascript中的数字,但这是我的问题:

var string = "068999999501111443";
parseInt(string); // 68999999501111440
Number(string); // 68999999501111440

为什么会发生这种情况以及如何解决?

由于

1 个答案:

答案 0 :(得分:1)

这是因为数字太大而无法准确存储。它被存储为浮点数,只能存储一定的精度。除了它的最大精度之外,你还会看到奇怪的舍入误差。

对于具有大量小数位的小数,您将获得类似的效果。这是众所周知的,因为它往往更频繁地发生,但它与此处发生的效果完全相同。