BigDecimal的简单使用

BigDecimal的简单使用(可用于货币的精确计算)

java.lang.Object

  java.lang.Number

      java.math.BigDecimal

 

构造方法摘要

 

BigDecimal(int val) 
          将 int 转换为 BigDecimal

 

BigDecimal(double val) 
          将 double 转换为 BigDecimal,后者是 double 的二进制浮点值准确的十进制表示形式。

 

BigDecimal(String val) 
          将 BigDecimal 的字符串表示形式转换为 BigDecimal

 

BigDecimal(char[] in) 
          将 BigDecimal 的字符数组表示形式转换为 BigDecimal,接受与 BigDecimal(String) 构造方法相同的字符序列。

 

BigDecimal(BigInteger val) 
          将 BigInteger 转换为 BigDecimal。

 

1.   加法

BigDecimal

add(BigDecimal augend) 
          返回一个 BigDecimal,其值为 (this + augend),其标度为 max(this.scale(), augend.scale())。

 

2.   减法

 BigDecimal

subtract(BigDecimal subtrahend) 
          返回一个 BigDecimal,其值为 (this - subtrahend),其标度为 max(this.scale(), subtrahend.scale())。

 

3.   乘法

BigDecimal

multiply(BigDecimal multiplicand) 
          返回一个 BigDecimal,其值为 (this × multiplicand),其标度为 (this.scale() + multiplicand.scale())。

 

4.   除法

BigDecimal

divide(BigDecimal divisor) 
          返回一个 BigDecimal,其值为 (this / divisor),其首选标度为 (this.scale() - divisor.scale());如果无法表示准确的商值(因为它有无穷的十进制扩展),则抛出 ArithmeticException。

示例:BigDecimal精确计算货币金额

    BigDecimal money=new BigDecimal("2");

    BigDecimal price=new BigDecimal("1.1");

    //加法

    BigDecimal result1=money.add(price);

    //减法

    BigDecimal result2=money.subtract(price);

    //乘法

    BigDecimal result3=money.multiply(price);

    //除法

    BigDecimal result4=money.divide(price);

你可能感兴趣的:(java)