Difference between string and double
Why would double conversion in the following yields different results?
System.err.println(new BigDecimal("42.21").subtract(new BigDecimal("12.12")));
30.09
System.err.println(new BigDecimal(42.21).subtract(new BigDecimal(12.12)));
30.0900000000000016342482922482304275035858154296875
Can any expert help me figure out the intention of java programmers to do this way?

