Error Messages Error Messages - 1 year ago 145
Java Question

java BigDecimal arithmaticException invalid operation

I cant find why I got a

java.lang.ArithmeticException: Invalid operation
while using big decimal.

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();

Some of the exponents have values such as
. Is there any way around this since it would be difficult to store the original values with many zeros. I chose BigDecimal since I needed to precision.

Thank you

Answer Source

If you are raising things to negative exponents, you must specify a MathContext in BigDecimal.pow(int, MathContext) so it knows how much precision to use -- otherwise, BigDecimal will try to compute it to infinite precision, which is not possible for some values.

(Unless you can be absolutely sure that the operation you're doing has an exact result with a finite number of digits.)

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download