Hi guys,
Don't know if this question belongs in the advanced or beginners java section, so am putting in the intermediate section. Hope this is right, but please move if not.
I have a worry when it comes to floating point values loss of precision. Maybe you guys can help to substiate my worry, or provide a solution to it.
I'm writing a financial application that it working with decimal numbers. Therefore i can't use float or double. Use bigdecimal instead. I need to take 'a decimal value' to the power of 'another decimal value'.
There is the function Math.pow(double a, double b) that returns a double.
If I do this for example:
BigDecimal one = new BigDecimal("1.234");
BigDecimal two = new BigDecimal("1.5");
double answer = Math.pow(one.doubleValue(), two.doubleValue());
BigDecimal result = new BigDecimal(answer);
So my question is, will there be a loss of precision for the variable 'answer' when I call the Math.pow method?
Any comments?
cheers
Darryl
Don't know if this question belongs in the advanced or beginners java section, so am putting in the intermediate section. Hope this is right, but please move if not.
I have a worry when it comes to floating point values loss of precision. Maybe you guys can help to substiate my worry, or provide a solution to it.
I'm writing a financial application that it working with decimal numbers. Therefore i can't use float or double. Use bigdecimal instead. I need to take 'a decimal value' to the power of 'another decimal value'.
There is the function Math.pow(double a, double b) that returns a double.
If I do this for example:
BigDecimal one = new BigDecimal("1.234");
BigDecimal two = new BigDecimal("1.5");
double answer = Math.pow(one.doubleValue(), two.doubleValue());
BigDecimal result = new BigDecimal(answer);
So my question is, will there be a loss of precision for the variable 'answer' when I call the Math.pow method?
Any comments?
cheers
Darryl