Java 使用BigDecimal 比较大小

669 阅读1分钟

前言

最近使用BigDicmal的情景比较多,经常会判断数值大小,故记录一下日常使用的方法。

代码

public class BigDecimalCompare {
    private BigDecimalCompare() {
    }
​
    /**
     * a是否等于 b
     *
     * @param a 数字a
     * @param b 数字b
     * @return 结果
     */
    public static boolean eq(BigDecimal a, BigDecimal b) {
        return a.compareTo(b) == 0;
    }
​
    /**
     * a是否小于 b
     *
     * @param a 数字a
     * @param b 数字b
     * @return 结果
     */
    public static boolean lt(BigDecimal a, BigDecimal b) {
        return a.compareTo(b) < 0;
    }
​
    /**
     * a是否大于 b
     *
     * @param a 数字a
     * @param b 数字b
     * @return 结果
     */
    public static boolean gt(BigDecimal a, BigDecimal b) {
        return a.compareTo(b) > 0;
    }
​
    /**
     * a是否小于等于 b
     *
     * @param a 数字a
     * @param b 数字b
     * @return 结果
     */
    public static boolean le(BigDecimal a, BigDecimal b) {
        return a.compareTo(b) < 1;
    }
​
    /**
     * a是否大于等于 b
     *
     * @param a 数字a
     * @param b 数字b
     * @return 结果
     */
    public static boolean ge(BigDecimal a, BigDecimal b) {
        return a.compareTo(b) > -1;
    }
​
​
    public static void main(String[] args) {
        BigDecimal a = new BigDecimal("3.1415");
        BigDecimal b = new BigDecimal("3.14");
        Console.log("eq:{}",BigDecimalCompare.eq(a,b));
        Console.log("lt:{}",BigDecimalCompare.lt(a,b));
        Console.log("gt:{}",BigDecimalCompare.gt(a,b));
        Console.log("le:{}",BigDecimalCompare.le(a,b));
        Console.log("ge:{}",BigDecimalCompare.ge(a,b));
    }
}

总结

以上是比较常规的使用方式,大家 有什么好的想法或者工具欢迎推荐,留言 ,感谢。