JS错误的数字从字符串解析

时间:2013-12-26 18:57:15

标签: javascript parsing numbers biginteger int64

我正在尝试从字符串解析一个大的int(int64)... 我已经设置了一个小测试,解析后得到错误的数字...我只得到偶数数字,从不奇数数字... < / p>

这是我的测试:

var test = "10202853558883111";
console.log(test); // outputs 10202853558883111

var iTest = parseInt(test);
console.log(iTest); // outputs 10202853558883112

var fTest = parseFloat(test);
console.log(fTest); // outputs 10202853558883112

var nTest = Number(test);
console.log(nTest); // outputs 10202853558883112



WTF?!?!?!
有人可以解释一下,更重要的是,请你帮我解决一下...... /:

1 个答案:

答案 0 :(得分:0)

数字太长,超过了Javascripts的精度。看:

parseInt("10202853558883111")
>  10202853558883112
parseInt("1020285355888311") // One less digit
>  1020285355888311