double 转为 BigDecimal 的问题
seeku 2007-12-25 10:56:28 java.math.BigDecimal bd = new java.math.BigDecimal("23.3");
System.out.println("db="+bd);
Double v = Double.valueOf("23.3" );
java.math.BigDecimal bd2 = new java.math.BigDecimal(v);
System.out.println("v="+v);
System.out.println("db2="+bd2);
java.math.BigDecimal bd3 = new java.math.BigDecimal((double)23.3);
System.out.println("db3="+bd3);
结果是
db=23.3
v=23.3
db2=23.300000000000000710542735760100185871124267578125
db3=23.300000000000000710542735760100185871124267578125
可以看出, 后面多了一堆小数,和23.3 不相等了
谁知道是怎么回事?