美文网首页already
【工具类】BigDecimal常用功能

【工具类】BigDecimal常用功能

作者: 小胖学编程 | 来源:发表于2022-08-17 21:25 被阅读0次

    一些常见的功能的工具类汇总:

    1. 比较大小;
    2. 加减乘除;
    3. 转化成百分比;
    4. 保留两位小数
    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 保留两位小数
         */
        public static BigDecimal divide(BigDecimal a, BigDecimal b) {
            return a.divide(b, 2, RoundingMode.HALF_UP);
        }
    
        /**
         * a/b * 100
         *
         * @return 保留两位小数的百分比
         */
        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 保留两位小数
         */
        public static BigDecimal toPercentage(BigDecimal a) {
            return a.multiply(BigDecimal.valueOf(100)).divide(BigDecimal.valueOf(1), 2, RoundingMode.HALF_UP);
        }
    
    }
    

    相关文章

      网友评论

        本文标题:【工具类】BigDecimal常用功能

        本文链接:https://www.haomeiwen.com/subject/zpdsgrtx.html