Joseph Samuel

Greenhorn

Posts: 10

posted 11 years ago

I have problem with calculation of these numbers.

When I muliply 90000*.35 I get a value with decimals not the expected result, but the same if I do with 90000*.45 I get the correct output. Then again I have done similar calculation with 90000*.55 again I got wrong value(not the expected). We have tried one more combination of the decimal mulitplication .35 with 70000 which it gave the right result.

Can I know what could be the reason for this mismatch.

Code which we have executed is given below.

System.out.println((90000*.35));//31499.999999999996

System.out.println((90000*.45)); //40500.0

System.out.println((90000*.55)); //49500.00000000001

System.out.println((70000*.35));//24500.0

Thanks & Regards,

Joseph

When I muliply 90000*.35 I get a value with decimals not the expected result, but the same if I do with 90000*.45 I get the correct output. Then again I have done similar calculation with 90000*.55 again I got wrong value(not the expected). We have tried one more combination of the decimal mulitplication .35 with 70000 which it gave the right result.

Can I know what could be the reason for this mismatch.

Code which we have executed is given below.

System.out.println((90000*.35));//31499.999999999996

System.out.println((90000*.45)); //40500.0

System.out.println((90000*.55)); //49500.00000000001

System.out.println((70000*.35));//24500.0

Thanks & Regards,

Joseph

posted 11 years ago

You'll always get precision problems with double.

Did you try using BigDecimal ?

Did you try using BigDecimal ?

[My Blog]
*All roads lead to JavaRanch*

Joseph Samuel

Greenhorn

Posts: 10

posted 11 years ago

Not yet tried using BigDecimal. Now the code which we have already been deployed in Production is using with double. We used double because it gives higher precission. But here it is creating problem. Problems like coming up less than 1 or more than 1 errors are coming.

BigDecimal will it solve this problem. BigDecimal can it be used for Arithmatic operation without any problem?

BigDecimal will it solve this problem. BigDecimal can it be used for Arithmatic operation without any problem?