long i  = new BigInteger(999999999+"").multiply(new BigInteger(999999999+"")).longValue();
System.out.println("============="+i);
long j =  999999999 * 999999999;
System.out.println("============="+j);
输出结果是:=============999999998000000001
=============808348673第一个结果是正确的,第二个结果为什么是错的呀
其实我现在想处理的是js中的问题,js中
function getSum(){
var i = 999999999*999999999;(两个9个9相乘)
alert(i);
}
打印出来的是:
999999998000000000;
999999998000000001;但是我在计算器得到实际结果是这个歌,js计算的为什么1就省略掉了啊,(位数小的相乘是没有问题的,不知道是怎么回事,现在我只能在jsp中写java代码,然后再把结果填到文本域中了,但是我还是想求高人解释下这是怎么回事呀,)