1. 程式人生 > >注意 不是我寫的,轉載其他博主 很經典 關於BigDecimal.ROUND_HALF_UP與ROUND_HALF_DOWN

注意 不是我寫的,轉載其他博主 很經典 關於BigDecimal.ROUND_HALF_UP與ROUND_HALF_DOWN

關於BigDecimal.ROUND_HALF_UP與ROUND_HALF_DOWN

2018年07月06日 14:38:11 Decoxy 閱讀數:278

由於ROUND_HALF_UP和ROUND_HALF_DOWN涉及到金額的區別

然而翻了其他部落格基本都是錯的,所以概述下這個問題(實際可能遇不到)。

一 基礎知識

ROUND_HALF_UP: 遇到.5的情況時往上近似,例: 1.5 ->;2

ROUND_HALF_DOWN : 遇到.5的情況時往下近似,例: 1.5 ->;1

 

二 補充知識

ROUND_HALF_UP: 遇到.5的情況時往上近似,例: 1.51 ->;2

ROUND_HALF_DOWN : 遇到.5的情況時往下近似,例: 1.51 ->;2

 

三 測試

一看不對 2.35 那個結果不對。

2.251 結果是對的。

 

四 分析錯誤

BigDecimal 型別轉換中

用的是構造方法是double

這裡就知道問題的所在了

 

五 解決方案

 

六 解決方案測試