加减乘除工具类BigDecimalUtil

Posted coder-lzh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了加减乘除工具类BigDecimalUtil相关的知识,希望对你有一定的参考价值。

场景:为毛要用BigDecimal这个类来实现加减乘除呢?我不说其他的,你去用小数乘小数,除小数就知道。话不多说,老规矩,开箱即用。

BigDecimalUtil.java

技术分享图片
package com.mmall.util;

import java.math.BigDecimal;

/**
 * Created by 敲代码的卡卡罗特
 */
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);//四舍五入,保留2位小数

        //除不尽的情况
    }





}
View Code

 

以上是关于加减乘除工具类BigDecimalUtil的主要内容,如果未能解决你的问题,请参考以下文章

BigDecimal的String类型

solr分布式索引实战分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例

精确计算工具类,提供加减乘除的计算

BigDecimal加减乘除运算整合工具类

精确的double加减乘除运算工具类

结对练习