BigDecimal类的加减乘除

BigDecimal类的常用方法 

序号

方    法

类型

描    述

1

public BigDecimal(double val)

构造

将double表示形式转换为BigDecimal

2

public BigDecimal(int val)

构造

将int表示形式转换为BigDecimal

3

public BigDecimal(String val)

构造

将字符串表示形式转换为BigDecimal

4

public BigDecimal add(BigDecimal augend)

普通

加法

5

public BigDecimal subtract(BigDecimal
subtrahend)

普通

减法

6

public BigDecimal multiply(BigDecimal
multiplicand)

普通

乘法

7

public BigDecimal divide(BigDecimal
divisor)

普通

除法

 注意:一般使用构造方法建议使用参数为String的构造,避免精度损失

例:进行四舍五入的四则运算

import java.math.BigDecimal;
class MyMath { public static double add(double d1, double d2){
   // 进行加法运算 BigDecimal b1 = new BigDecimal(d1); BigDecimal b2 = new BigDecimal(d2); return b1.add(b2).doubleValue(); }
public static double sub(double d1, double d2){
// 进行减法运算 BigDecimal b1 = new BigDecimal(d1); BigDecimal b2 = new BigDecimal(d2); return b1.subtract(b2).doubleValue(); }
public static double mul(double d1, double d2){
// 进行乘法运算 BigDecimal b1 = new BigDecimal(d1); BigDecimal b2 = new BigDecimal(d2); return b1.multiply(b2).doubleValue(); }
public static double div(double d1,double d2,int len) {
// 进行除法运算
     // len:表示保留小数的位数
     // ROUND_HALF_UP:是BigDecimal的一个常量,表示四舍五入
         BigDecimal b1 = new BigDecimal(d1);
         BigDecimal b2 = new BigDecimal(d2);
         return b1.divide(b2,len,BigDecimal.ROUND_HALF_UP).doubleValue();
     }
}
原文地址:https://www.cnblogs.com/dongfangshenhua/p/6857401.html