不論是float 還是double都是浮點數,而計算機是二進制的,浮點數會失去一定的精确度。
雖然雙精度浮點型變量double可以處理16位有效數。在實際應用中,需要對更大或者更小的數進行運算和處理。float和double隻能用來做科學計算或者是工程計算,
1. 在商業計算中要用java.math.BigDecimal,用來對超過16位有效位的數進行精确的運算。
BigDecimal建立的是對象,不能使用+、-、*、/等直接對其對象進行數學運算,而是調用其相對應的方法。方法中的參數也必須是BigDecimal的對象。
例如:
輸出:
2. 構造器描述:
在涉及到double資料時,建議優先使用String構造方法,即<code>Double.toString(double)</code><code>轉成String</code>
例子:
結果:
3. 方法描述:
4. 注意divide方法:
divide(BigDecimal,保留小數點後幾位小數,舍入模式)
舍入模式:
5. 使用: