This is one funny behavior of the java compiler that I came across.
Create a class file with the following source code
import java.math.BigDecimal;
public class test {
public static void main (String args[]) {
System.out.println(2.0-1.1);
System.out.println(new BigDecimal(2.0).subtract(new BigDecimal(1.1)));
System.out.println(new BigDecimal("2.0").subtract(new BigDecimal("1.1")));
}
}
compile the same and run it, and there you go, the funny results that I saw,
0.8999999999999999
0.899999999999999911182158029987476766109466552734375
0.9
I came across this in a session handled by Mr.Venkat Subramaniam in the Great Indian Developer Summit which was held on Banglore 20th to 28th April... (not so precise about the dates... :)
No comments:
Post a Comment