作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我无法找到为什么在使用大十进制时出现 java.lang.ArithmeticException: Invalid operation
。
public static String E (int exponent, String value){
BigDecimal ten= new BigDecimal("10");
BigDecimal tempValue=new BigDecimal (value);
return tempValue.multiply(ten.pow(exponent)).toString();
}
一些指数的值如 -27
。有什么办法解决这个问题,因为很难存储带有许多零的原始值。我选择了 BigDecimal,因为我需要精确度。
谢谢
最佳答案
如果您将事物提高到负指数,则必须指定 MathContext
在 BigDecimal.pow(int, MathContext)
所以它知道要使用多少精度 - 否则,BigDecimal
将尝试将它计算到无限精度,这对于某些值是不可能的。
(除非您可以绝对确定您正在执行的操作具有有限位数的精确结果。)
关于java BigDecimal arithmaticException 无效操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9932239/
我无法找到为什么在使用大十进制时出现 java.lang.ArithmeticException: Invalid operation。 public static String E (int exp
我是一名优秀的程序员,十分优秀!