The following code:
BigDecimal a = new BigDecimal("8900");
BigDecimal b = new BigDecimal("8.9E+3");
System.out.println(a.equals(b));
prints false. Why is so, if mathematically those numbers are equal?
The following code:
BigDecimal a = new BigDecimal("8900");
BigDecimal b = new BigDecimal("8.9E+3");
System.out.println(a.equals(b));
prints false. Why is so, if mathematically those numbers are equal?
You have to use compareTo()
:
BigDecimal a = new BigDecimal("8900");
BigDecimal b = new BigDecimal("8.9E+3");
System.out.println(a.compareTo(b) == 0);