2018.10.31 16:48 夕阳西下
14.15_常见对象(BigDecimal类的概述和方法使用)
- A:BigDecimal的概述
- 由于在运算的时候,float类型和double很容易丢失精度,演示案例。
- 所以,为了能精确的表示、计算浮点数,Java提供了BigDecimal
- 不可变的、任意精度的有符号十进制数。
- B:构造方法
- public BigDecimal(String val)
拓展:BigDecimal.valueof(double sal)
valueOf(double val)
使用 Double.toString(double) 方法提供的 double 规范的字符串表示形式将 double 转换为 BigDecimal。
- public BigDecimal(String val)
- C:成员方法
- public BigDecimal add(BigDecimal augend)
- public BigDecimal subtract(BigDecimal subtrahend)
- public BigDecimal multiply(BigDecimal multiplicand)
- public BigDecimal divide(BigDecimal divisor)*
代码练习:
package com.heima.otherclass;
import java.math.BigDecimal;
public class Demo_BigDecimal {
public static void main(String[] args) {
BigDecimal bd1 = new BigDecimal("2.2"); //通过构造中数字字符串传入,开发中推荐,不丢失精度
BigDecimal bd2 = new BigDecimal("1.1");
System.out.println(bd1.subtract(bd2));
BigDecimal bd3 = BigDecimal.valueof(8.8); //通过调用静态方法,其实底层也是new去创建对象,这种方式也推荐
BigDecimal bd4 = BigDecimal.valueof(2.2);
System.out.println(bd3.subtract(bd4));
System.out.println("________");
System.out.println(bd1.add(bd2));
System.out.println(bd3.add(bd4));
System.out.println("________");
System.out.println(bd1.divide(bd2));
System.out.println(bd3.divide(bd4));
System.out.println("________");
System.out.println(bd1.multiply(bd2));
System.out.println(bd3.multiply(bd4));
}
}