Java连续乘法遇到的问题
采用 JDK 1.6_13版本,发现一个奇怪的问题。
JDK1.6输出如下结果:
输出:30l * 24 * 60 * 60 * 1000=2592000000
输出结果正确。
总结如下:
Java在处理连续乘法或除法时,最好注明数字的类型,否则可能会得到不正确的结果。
1 楼 QuakeWang 2009-07-12 默认是Integer,超过了最大值2^31,溢出了 2 楼 不复记忆 2009-07-12 溢出了,兄台..... 3 楼 pangyi 2009-07-13 呵呵!让各位见笑了!
以前没注意过这方面。
是我错怪Java了。 4 楼 healer_kx 2009-08-13 溢出嘛,用大整数类型的classes...要不换Scala,书写起来还漂亮点。 5 楼 waterdh 2010-04-02 纠正下1楼,int最大值是2^31-1 6 楼 抛出异常的爱 2010-04-03 BigDicmal