- 构造
建议使用 BigDecimal(String)
BigDecimal score = new BigDecimal("100");
- 函数
加法:add(BigDecimal)
减法:subtract(BigDecimal)
乘法:multiply(BigDecimal)
除法:divide(BigDecimal,scale,roundingMode),scale表示保留几位小数,roundingMode表示取舍模式,后面有对取舍模式的详细说明
取舍:setScale(scale,roundingMode)
比较:compareTo(BigDecimal),返回值大于0表示前面的数大,反之后面的数大
其他还有:toString()、doubleValue()、intValue()等
- 取舍模式:
ROUND_CEILING:向正无穷方向舍入
ROUND_UP:向远离0的方向舍入
ROUND_DOWN:向零方向舍入
ROUND_FLOOR:向负无穷方向舍入
ROUND_HALF_DOWN:向最接近的数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式,五舍六入
ROUND_HALF_UP:向最接近的数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式,四舍五入
ROUND_HALF_EVEN:向最接近的数字舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。如果舍弃部分左边的数字为奇数,则舍入行为与 ROUND_HALF_UP 相同;如果为偶数,则舍入行为与 ROUND_HALF_DOWN 相同。
ROUND_UNNECESSARY:不需要舍入