工作中遇到后台计算出来的金额在前台展示展示竟然是负数。看了下算法和数据里的数据都没错,而最终算出来的金额是:3000000000,前台展示为:-1294967296。后来发现我把金额定义为整数了,整数的最大范围是2147483647,算出来的金额大于整数的最大范围。解决办法定义为长整型。
java中的一个整数占4个字节,一个字节8位。用二进制数表示是:1111111111111111111111111111111,十进制数表示范围是:-2147483648~2147483647。
java中的一个整数占4个字节,一个字节8位。用二进制数表示是:1111111111111111111111111111111,十进制数表示范围是:-2147483648~2147483647。