var strNum='9223372036854775807';--实际要转的
var strNum1='9223372036854775';--测试1
var strNum2='922337203685477';--测试2
alert(parseInt(strnumm));--9223372036854776000
alert(parseInt(strnumm1));--9223372036854776
alert(parseInt(strnumm2));--922337203685477
上面的问题咋个解决
var strNum1='9223372036854775';--测试1
var strNum2='922337203685477';--测试2
alert(parseInt(strnumm));--9223372036854776000
alert(parseInt(strnumm1));--9223372036854776
alert(parseInt(strnumm2));--922337203685477
上面的问题咋个解决
var strNum = '9223372036854775807';
var strNum1 = '9223372036854775';
var strNum2 = '922337203685477';
alert(strNum.toString(10, 16));
alert(strNum1.toString(10, 16));
alert(strNum2.toString(10, 16));
</script>
var p = a.match(/\d{1,4}/g).reverse();
var q = b.match(/\d{1,4}/g).reverse();
var f1 = 0;
var result = "0";
for(var i = 0; i < p.length; i++){
var f2 = 0;
for(var j = 0; j < q.length; j++){
var t = (p[i]|0)*(q[j]|0);
t += new Array(f1+f2+1).join("0");
result = bigNumAdd(result, t);
f2 += q[j].length;
}
f1 += p[i].length;
}
return result;
}
function bigNumAdd(a,b){
var m = a.split('').reverse();
var n = b.split('').reverse();
var ret = [];
var s = 0;
for(var i = 0; i < a.length || i < b.length; i++){
var t = (m[i]|0) + (n[i]|0) + s;
ret.push(t%10);
s = (t/10)|0;
}
if(s){
ret.push(s);
}
return ret.reverse().join('');
}
function bigNumPow(a,b){
var ret = "1";
for(var i = 0; i < b; i++){
ret = bigNumMulti(ret,a.toString());
}
return ret;
}
document.write(bigNumPow(36,16));
试试看