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 -27. 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
If you are raising things to negative exponents, you must specify a
MathContextinBigDecimal.pow(int, MathContext)so it knows how much precision to use — otherwise,BigDecimalwill 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.)