• BigDecimal数字计算工具类


    import java.math.BigDecimal;
    
    /**
     * @Author 
     * @Date 2022/4/17
     * @Version 1.0
     **/
    public class BigDecimalUtils {
        public static BigDecimal doubleAdd(double v1, double v2) {
            BigDecimal b1 = new BigDecimal(Double.toString(v1));
            BigDecimal b2 = new BigDecimal(Double.toString(v2));
            return b1.add(b2);
        }
        public static BigDecimal floatAdd(float v1, float v2) {
            BigDecimal b1 = new BigDecimal(Float.toString(v1));
            BigDecimal b2 = new BigDecimal(Float.toString(v2));
            return b1.add(b2);
        }
        public static BigDecimal doubleSub(double v1, double v2) {
            BigDecimal b1 = new BigDecimal(Double.toString(v1));
            BigDecimal b2 = new BigDecimal(Double.toString(v2));
            return b1.subtract(b2);
        }
        public static BigDecimal floatSub(float v1, float v2) {
            BigDecimal b1 = new BigDecimal(Float.toString(v1));
            BigDecimal b2 = new BigDecimal(Float.toString(v2));
            return b1.subtract(b2);
        }
    
        public static BigDecimal doubleMul(double v1, double v2) {
            BigDecimal b1 = new BigDecimal(Double.toString(v1));
            BigDecimal b2 = new BigDecimal(Double.toString(v2));
            return b1.multiply(b2);
        }
        public static BigDecimal floatMul(float v1, float v2) {
            BigDecimal b1 = new BigDecimal(Float.toString(v1));
            BigDecimal b2 = new BigDecimal(Float.toString(v2));
            return b1.multiply(b2);
        }
    
        public static BigDecimal doubleDiv(double v1, double v2) {
            BigDecimal b1 = new BigDecimal(Double.toString(v1));
            BigDecimal b2 = new BigDecimal(Double.toString(v2));
            // 保留小数点后两位 ROUND_HALF_UP = 四舍五入
            return b1.divide(b2, 2, BigDecimal.ROUND_HALF_UP);
        }
        public static BigDecimal floatDiv(float v1, float v2) {
            BigDecimal b1 = new BigDecimal(Float.toString(v1));
            BigDecimal b2 = new BigDecimal(Float.toString(v2));
            // 保留小数点后两位 ROUND_HALF_UP = 四舍五入
            return b1.divide(b2, 2, BigDecimal.ROUND_HALF_UP);
        }
        /**
         * 比较v1 v2大小
         * @param v1
         * @param v2
         * @return v1>v2 return 1  v1=v2 return 0 v1<v2 return -1
         */
        public static int doubleCompareTo(double v1, double v2) {
            BigDecimal b1 = new BigDecimal(Double.toString(v1));
            BigDecimal b2 = new BigDecimal(Double.toString(v2));
            return  b1.compareTo(b2);
        }
        public static int floatCompareTo(float v1, float v2) {
            BigDecimal b1 = new BigDecimal(Float.toString(v1));
            BigDecimal b2 = new BigDecimal(Float.toString(v2));
            return  b1.compareTo(b2);
        }
    }
    

      

     
  • 相关阅读:
    js4——字符转化
    js3——表格下拉
    笔记展现
    js2——定时跳转
    js学习——1
    明明在/etc/my.cnf 配置了mysql.sock,为什么会在/var/lib/mysql/mysql.sock 里边寻找
    RBAC用户权限管理数据库设计
    mysql 字节问题,中文和数字
    PHP闭包
    一致性哈希算法原理
  • 原文地址:https://www.cnblogs.com/gjths/p/16347448.html
Copyright © 2020-2023  润新知