zoukankan      html  css  js  c++  java
  • 封装关于金额计算的double工具类

    由于直接使用double类型的加减乘除,可能会出现不可预测的问题,精度丢失等等。在业务中,计算金额是一件很重要的事情。

    可以直接使用BigDecimal类,进行加减乘除。相关BigDecimal类介绍:https://blog.csdn.net/haiyinshushe/article/details/82721234

    当然为了业务中方便使用,封装了一个工具类,如下:

    import java.math.BigDecimal;
    
    public class BigDecimalUtil {
        private BigDecimalUtil() {
        }
    
        //
        public static BigDecimal add(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 sub(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 mul(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 div(double v1, double v2){
            BigDecimal b1 = new BigDecimal(Double.toString(v1));
            BigDecimal b2 = new BigDecimal(Double.toString(v2));
            return b1.divide(b2,2,BigDecimal.ROUND_HALF_UP); //四舍五入,保留两位数字
        }
    }
  • 相关阅读:
    Spring MVC 下index.jsp访问
    Spring MVC的UrlBasedViewResolver和InternalResourceViewResolver
    js中encode、decode的应用说明
    Spring3.1新特性介绍
    Spring MVC定义拦截器
    Spring 使用注解方式进行事务管理
    GET,POST,PUT,DELETE的区别
    SpringMVC注解@RequestParam全面解析
    java实现DES算法
    程序员要考虑的事
  • 原文地址:https://www.cnblogs.com/FondWang/p/12051687.html
Copyright © 2011-2022 走看看