在我的代码中,我得到的输入值(整数变量)多于16位数字无法获得正确的值。
HTML:
<div><input id="number_id" value="111111111111111111"></div>
脚本:
$("#number_id").blur(function(){
var ns = $("#number_id").val();
alert(Number(ns))
});
任何人都有解决方案请帮助我。
答案 0 :(得分:4)
JavaScript仅使用64位浮点数,这意味着您只能获得大约16位十进制数字的精度。这是数字类型的基本限制。
您可以将数字存储为字符串。如果你需要用这么大的数字进行计算,你将不得不使用一个实现任意精度算术的库。
答案 1 :(得分:1)
javascript中的所有数字最多可支持9007199254740992,即16位数字。如果存储的不止于此,则会被解释为错误。 (http://www.2ality.com/2012/07/large-integers.html)
最好的方法是将其存储到字符串中。如果你想用大整数做一些基本的事情,你可以使用这个https://github.com/jtobey/javascript-bignum