2021/03/29

[筆記] Effective Java #60 如果需要精確的答案,請避免使用 float 和 double

Effective Java 3rd 簡體中文版筆記 #60 如果需要精確的答案,請避免使用 float 和 double
floatdouble 主要為了科學計算和工程計算,它們執行二進制浮點運算,並不是完全精確的運算,所以不適合用於貨幣計算。解決問題的正確方法是用 BigDecimalint 或是 long 進行貨幣計算,然而使用 BigDecimal 會有兩個缺點,與基本運算類型相比較不方便,速度慢,但好處是可以自由選擇四捨五入的機制。另一種辦法就是使用 int 或是 long,如果數字沒有超過 9 位數的十進制數字,可以使用 int,如果數字沒有超過 18 位數,就可以使用 long
浮點數
https://zh.wikipedia.org/wiki/%E6%B5%AE%E7%82%B9%E6%95%B0
轉載請註明原文網址 https://cookieandcoketw.blogspot.com/2021/03/effective-java-60-float-double.html

沒有留言:

張貼留言