1、BigDecimal继承接口以及实现类
public class BigDecimal
extends Number
implements Comparable<BigDecimal>
2、对于scale的理解
19/100 = 0.19 // integer=19, scale=2
但是21/110 = 0.190 // integer=190, scale=3
3、private final BigInteger intVal;的作用
定义了Integer,见第二个问题
Final关键字的理解(链接):final
4、private final int scale;的作用
定义标度
5、private transient int precision;的作用
定义精度
Transient的链接:transient
6、BigDecimal的构造方法
主要就是将各种类型的数字转换成BigDecimal类型
BigDecimal(BigInteger val) |
BigDecimal(BigInteger unscaledVal, int scale) |
BigDecimal(BigInteger unscaledVal, int scale, MathContext mc) |
BigDecimal(BigInteger val, MathContext mc) |
BigDecimal(char[] in) |
BigDecimal(char[] in, int offset, int len) |
BigDecimal(char[] in, int offset, int len, MathContext mc) |
BigDecimal(char[] in, MathContext mc) |
BigDecimal(double val) |
BigDecimal(double val, MathContext mc) |
BigDecimal(int val) |
BigDecimal(int val, MathContext mc) |
BigDecimal(long val) |
BigDecimal(long val, MathContext mc) |
BigDecimal(String val) |
BigDecimal(String val, MathContext mc) |
7、abs() 方法的作用
返回 BigDecimal,其值为此 BigDecimal 的绝对值,其标度为 this.scale()。
public BigDecimal abs() {
signum涉及到移位运算。 |
8、add(BigDecimal augend) 方法的作用
返回一个 BigDecimal,其值为 (this + augend),其标度为 max(this.scale(), augend.scale())。
9、subtract(BigDecimal subtrahend) 的作用
减法