BigDecimal比较大小工具类

项目中有很多地方需要比较两个BigDecimal类型值的大小,常规办法是通过compareTo进行比较,但是这样写会显得代码很长且容易混淆。参考java8中提供的Optional类,自己封装了一个BigDecimal比较大小的工具类。

public final class Decimal {

    private final BigDecimal value;

    private Decimal(BigDecimal value) {
        this.value = value;
    }

    public static Decimal of(BigDecimal value) {
        return new Decimal(value);
    }

    // 小于
    public boolean lt(BigDecimal val) {
        return value.compareTo(val) == -1;
    }

    // 等于
    public boolean eq(BigDecimal val) {
        return value.compareTo(val) == 0;
    }

    // 大于
    public boolean gt(BigDecimal val) {
        return value.compareTo(val) == 1;
    }

    // 大于等于
    public boolean ge(BigDecimal val) {
        return value.compareTo(val) > -1;
    }

    // 小于等于
    public boolean le(BigDecimal val) {
        return value.compareTo(val) < 1;
    }

}

比较方法

BigDecimal a = new BigDecimal("0.02");
BigDecimal b = new BigDecimal("0.01");
boolean bool = Decimal.of(a).ge(b);

版权声明:本文为qq_38827420原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。