【工具類】BigDecimal常用功能

一些常見(jiàn)的功能的工具類匯總:

  1. 比較大?。?/li>
  2. 加減乘除;
  3. 轉(zhuǎn)化成百分比;
  4. 保留兩位小數(shù)
import java.math.BigDecimal;
import java.math.RoundingMode;

public abstract class BigDecimalUtils {
    /**
     * a < b
     */
    public static boolean lessThan(BigDecimal a, BigDecimal b) {
        return a.compareTo(b) == -1;
    }

    /**
     * a == b
     */
    public static boolean equalsThan(BigDecimal a, BigDecimal b) {
        return a.compareTo(b) == 0;
    }

    /**
     * a > b
     */
    public static boolean greaterThan(BigDecimal a, BigDecimal b) {
        return a.compareTo(b) == 1;
    }

    /**
     * a >= b
     */
    public static boolean greaterEqualsThan(BigDecimal a, BigDecimal b) {
        return a.compareTo(b) > -1;
    }

    /**
     * a <= b
     */
    public static boolean lessEqualsThan(BigDecimal a, BigDecimal b) {
        return a.compareTo(b) < 1;
    }

    /**
     * a + b
     */
    public static BigDecimal add(BigDecimal a, BigDecimal b) {
        return a.add(b);
    }

    /**
     * a - b
     */
    public static BigDecimal subtract(BigDecimal a, BigDecimal b) {
        return a.subtract(b);
    }

    /**
     * a * b
     */
    public static BigDecimal multiply(BigDecimal a, BigDecimal b) {
        return a.multiply(b);
    }

    /**
     * a / b
     *
     * @return 保留兩位小數(shù)
     */
    public static BigDecimal divide(BigDecimal a, BigDecimal b) {
        return a.divide(b, 2, RoundingMode.HALF_UP);
    }

    /**
     * a/b * 100
     *
     * @return 保留兩位小數(shù)的百分比
     */
    public static BigDecimal divide2Percentage(BigDecimal a, BigDecimal b) {
        return a.divide(b, 4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100))
                .divide(BigDecimal.valueOf(1), 2, RoundingMode.HALF_UP);
    }

    /**
     * a * 100%
     *
     * @return 保留兩位小數(shù)
     */
    public static BigDecimal toPercentage(BigDecimal a) {
        return a.multiply(BigDecimal.valueOf(100)).divide(BigDecimal.valueOf(1), 2, RoundingMode.HALF_UP);
    }

}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容