【求教】为什么javascript里数字太大后运算 不再准确
本帖最后由 gu_cheng_ 于 2013-02-22 01:32:05 编辑
例如20个1 摩10,得出结果是0。。试了下,超过十五位的数运算就会出现问题。。
小白,勿喷,谢谢各位
------解决方案--------------------
var num = 1111111111111111,
num1 = 11111111111111111111;
var mo = num % 10,
mo1 = num1 % 10;
document.writeln(num + " % 10 = " + mo);
document.writeln("<br />");
document.writeln(num1 + " % 10 = " + mo1);
//1111111111111111 % 10 = 1
//11111111111111110000 % 10 = 6
貌似js处理的最大数值为16位啊。
------解决方案--------------------function mod(div,num){
var reg=/^\d+$/;
if(!reg.test(div)){
alert("只能为整数");
return false;
}
var k=div.charAt(0)%num;
for(var i=1;i<div.length;i++){
var j=k*10+parseInt(div.charAt(i));
k=j%num;
}
return k;
}
var x=mod('12345678901234567890123',3);
alert(x);
这样试试可以不
------解决方案--------------------溢出!!!!!!
------解决方案--------------------http://blog.csdn.net/luoliang_uestc/article/details/4552813
js的大数运算,解决工作中的一个大数进制转换问题