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); //四舍五入,保留两位数字
        }
    }
  • 相关阅读:
    css相关
    文章管理列表
    高性能MySQL基础篇
    mysql
    node.js开发实战
    React Hooks
    client-*,scroll-*,offset-*的区别
    将create-react-app从javascript迁移到typescript
    为Github项目添加Travis持续集成服务
    cookie储存
  • 原文地址:https://www.cnblogs.com/FondWang/p/12051687.html
Copyright © 2011-2022 走看看