工作中遇到后台计算出来的金额在前台展示展示竟然是负数。看了下算法和数据里的数据都没错,而最终算出来的金额是:3000000000,前台展示为:-1294967296。后来发现我把金额定义为整数了,整数的最大范围是2147483647,算出来的金额大于整数的最大范围。解决办法定义为长整型。
java中的一个整数占4个字节,一个字节8位。用二进制数表示是:1111111111111111111111111111111,十进制数表示范围是:-2147483648~2147483647。
java中的一个整数占4个字节,一个字节8位。用二进制数表示是:1111111111111111111111111111111,十进制数表示范围是:-2147483648~2147483647。
本文描述了一种常见的整数溢出问题,在计算金额时由于使用了整型而非长整型而导致前台显示为负数。文章解释了整数的最大范围限制,并提出了解决方案。
3289

被折叠的 条评论
为什么被折叠?



