日期:2014-05-16  浏览次数:20373 次

【求教】为什么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的大数运算,解决工作中的一个大数进制转换问题