我想從一個字符串做一個BigDecimal。不要問我爲什麼,我只是需要它!這是我的代碼:BigDecimal from Double的值不正確?
Double theDouble = new Double(".3");
System.out.println("The Double: " + theDouble.toString());
BigDecimal theBigDecimal = new BigDecimal(theDouble);
System.out.println("The Big: " + theBigDecimal.toString());
這是我得到的輸出?
The Double: 0.3
The Big: 0.299999999999999988897769753748434595763683319091796875
任何想法?
爲什麼不能它是repres完全是一個雙? – Diego 2010-09-11 23:06:30
@Diego:即使不是最常見的SO問題,至少在前五名中也是如此。雖然這需要一點時間才能理解。閱讀[每個計算機科學家應該知道什麼關於浮點運算](http://docs.sun.com/source/806-3568/ncg_goldberg.html) – 2010-09-11 23:08:00
@Michael Petrotta好的謝謝! – Diego 2010-09-11 23:10:27