小编DJM*_*000的帖子

Java BigDecimal可能溢出错误

我正在测试一些涉及a的代码的边界条件BigDecimal,我注意到当BigDecimal使用String初始化a时,"1e2147483647"它会出现意外行为.它似乎在0和之间有一个值1e-2147483647.当我试着打电话时intValue(),我得到一个NegativeArraySizeException.我应该注意,这2147483647是我系统上整数的最大值.我做错了什么,或者这是一个问题BigDecimal

BigDecimal test = new BigDecimal("1e2147483647");

test.compareTo(new BigDecimal(0));  //Returns 1
test.compareTo(new BigDecimal("1e-2147483647"));  //Returns -1
test.intValue();  //Throws NegativeArraySizeException
Run Code Online (Sandbox Code Playgroud)

java bigdecimal

78
推荐指数
1
解决办法
2308
查看次数

标签 统计

bigdecimal ×1

java ×1