Groovy 會自動把10.5 這樣的的小數值自動裝箱(Autobox)成java.math.BigDecimal
而非你想當然的java.lang.Float或java.lang.Double類型。
為什麼要這樣舉個大多數Java開發者都沒有意識到的一個慘通例子:
寫一個簡短的Java應用,循環10 次,每次都加上0.1。
你最終會得到0.99999或1.000001,這要看你是存成Double還是Float。
使用BigDecimal,你將會每次都得到1.0,和預期的一模一樣。
這就是(The Principle of Least Surprise)。
- 首頁
- JAVA 目錄
- JAVA WEB 目錄
- JAVA 其他未分類 目錄
- Grails目錄
- jQuery 目錄
- Apache 目錄
- JavaScript 目錄
- Spring + Hibernate 目錄
- Hibernate 目錄
- Linux 目錄
- 程式開發工具目錄
- MySQL 目錄
- PHP目錄
- C/C++ 目錄
- Google App Engine 目錄
- HTML5/CSS3
- 程式開發基本資訊
- Android
- Oracle 目錄
- Struts 目錄