java中new BigDecimal的坑

BigDecimal.valueOf(0.004)對象

new BigDecimal(0.004)ci

前者:輸出的結果是0.004im

後者:輸出的結果是0.00400000000000000008326672...........................di

注意事項:new

  因此,在比較大小的時候,切記,要用BigDecimal.valueOf,不然臨界值判斷時邏輯就有誤

 

緣由:因爲後者,對象沒有指定精度,若是指定精度的話,也就正常了,如:

                 new BigDecimal(0.004).setScale(3,RoundingMode.HALF_UP)

相關文章
相關標籤/搜索