Java:大數值

BigInteger、BigDecimal:解決整數、浮點數精度不能滿足要求的問題。

具體使用
public class BigDecimalUtil {

    /*
    Java 大數值:BigInteger、BigDecimal
    public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
    scale:保留幾位小數,roundingMode:保留模式,默認四捨五入
    常用保留模式:BigDecimal.ROUND_UP 直接進位、ROUND_DOWN 直接捨棄、ROUND_HALF_UP 四捨五入、ROUND_HALF_DOWN >5 進位,<=5 捨去
    public BigDecimal[] divideAndRemainder(BigDecimal divisor) BigDecimal[0] 商 BigDecimal[1] 餘數
    */

    // result -1(b1<b2), 0(b1=b2), 1(b1>b2)
    public static int compareTo(BigDecimal b1, BigDecimal b2) {
        int result = b1.compareTo(b2);
        return result;
    }

    // 加法
    public static BigDecimal add(BigDecimal b1, BigDecimal b2) {
        return b1.add(b2);
    }

    // 減法
    public static BigDecimal subtract(BigDecimal b1, BigDecimal b2) {
        return b1.subtract(b2);
    }

    // 乘法
    public static BigDecimal multiply(BigDecimal b1, BigDecimal b2) {
        return b1.multiply(b2);
    }

    // 除法
    public static BigDecimal divide(BigDecimal b1, BigDecimal b2) {
        return b1.divide(b2, 2, BigDecimal.ROUND_UP);
    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章