一、构造
new BigDecimal(double val);//构造出的对象非精确数值,有长串小数
new BigDecimal(String val);//能构造出精确数值的对象
二、方法
abs() 返回绝对值
byteValueExact() 将此BigDecimal转换为byte,BigDecimal带有小数时不可用
compareTo(BigDecimal v) 比较值 小于-1 等于0 大于1
doubleValue() floatValue() intValue() longValue 转换为相应类型
max(BigDecimal v) min(BigDecimal v)返回最大最小值
movePointLeft(int n) 小数点向左移n位
movePointRight(int n) 小数点向右移n位
negate() 返回(-this)
scale() 返回小数位(标度)
scaleByPowerOfTen(int n) 返回 (this*10n次方)
precision() this的精度
pow(int n) 计算幂 this的n次幂
------------
add(BigDecimal v) 加法
subtract(BigDecimal v)减法
multiply(BigDecimal v)乘法
divide(BigDecimal v) 除法 除不尽时抛出异常ArithmeticException
divide(BigDecimal v,int scale,int roundingMode)除法 scale小数位 roundingMode取整方式
例:v.divide(new BigDecimal("3"),4, RoundingMode.HALF_UP)
remainder(BigDecimal d) 返回余数 (this%d)