Java小數截斷
阿新 • • 發佈:2019-01-06
Java計算資料小數截斷,目前提供了下面幾種方式,這些方式截斷小數如下:
用的測試程式碼如下,裡面有對幾種方式的註釋心得
public class Test { public static void main(String[] args) { BigDecimal bigDecimal1 = new BigDecimal(-25); BigDecimal bigDecimal2 = new BigDecimal(7); // 無論正數或者負數都進1 BigDecimal bigDecimal3 = bigDecimal1.divide(bigDecimal2, 2, BigDecimal.ROUND_UP); System.out.println("bigDecimal3:" + bigDecimal3); // 無論正數或者負數直接舍入,任何情況都不進1 BigDecimal bigDecimal4 = bigDecimal1.divide(bigDecimal2, 2, BigDecimal.ROUND_DOWN); System.out.println("bigDecimal4:" + bigDecimal4); // 正數在舍入的時候都進1;負數直接舍掉 BigDecimal bigDecimal5 = bigDecimal1.divide(bigDecimal2, 2, BigDecimal.ROUND_CEILING); System.out.println("bigDecimal5:" + bigDecimal5); // 正數直接舍掉,負數舍入時進1 BigDecimal bigDecimal6 = bigDecimal1.divide(bigDecimal2, 2, BigDecimal.ROUND_FLOOR); System.out.println("bigDecimal6:" + bigDecimal6); // 四捨五入 BigDecimal bigDecimal7 = bigDecimal1.divide(bigDecimal2, 2, BigDecimal.ROUND_HALF_UP); System.out.println("bigDecimal7:" + bigDecimal7); // 四捨五入 BigDecimal bigDecimal8 = bigDecimal1.divide(bigDecimal2, 2, BigDecimal.ROUND_HALF_DOWN); System.out.println("bigDecimal8:" + bigDecimal8); // 四捨五入 BigDecimal bigDecimal9 = bigDecimal1.divide(bigDecimal2, 2, BigDecimal.ROUND_HALF_EVEN); System.out.println("bigDecimal9:" + bigDecimal9); }