关于BigDecimal
一般,浮点数在计算上有误差,比如float a = 0.1f和double b = 0.1d,在数字上应该是相等的,在在比较时会发现两者并不相等。这是因为浮点数由于字节位数原因导致。因此,建议大家使用BigDecimal类来进行计算!
1. BigDecimal的常用构造函数
//可以传入的类型:int、double、long、String
BigDecimal(int)
BigDecimal(double)
BigDecimal(long)
BigDeciaml(String)
2. BigDecimal的加减乘除方法
//加法
add(BigDecimal)
//减法,参数时是减数
subtract(BigDecimal)
//乘法
multiply(BigDecimal)
//除法,后面的参数可填可不填,表示保留小数位数
divide(BigDeciaml[, int])
//------------------------------------其他方法---------------------
//转化为双精度
doubleValue()
//转化为单精度
floatValue()
//转化为长整型
longValue()
//转化为整数
intValue()
3. BigDecimal比较大小
int a = bigdemical.comareTo(bigdemical2)
a = -1 bigdemical<bigdemical2
a = 0 bigdemical=bigdemical2
a = 1 bigdemical>bigdemical2