BigDecimal 笔记

参数

BigDecimal 类主要有如下几个参数

这几个参数都比较好理解,看过这两个例子基本都能明白,现在总结一下就是

scale // 小数点后位数
precision // 一共位数
intCompact // 去掉小数点后整型数
stringCache // 数字的字符串形式

比较

对于 BigDecimal 之间的比较,不能使用 equals 方法,而是使用 compareTo 方法。

equals 方法上也有如下注释: Compares this BigDecimal with the specified Object for equality. Unlike compareTo, this method considers two BigDecimal objects equal only if they are equal in value and scale (thus 2.0 is not equal to 2.00 when compared by this method).

即 它会比较两个 BigDecimal 的 value 和 scale,而 scale 又表示的是小数点后的位数,这样会导致 2.0 不等于 2.00 的情况出现,所以比较两个 BigDecimal 时要使用 compareTo 方法。

原文地址:https://www.cnblogs.com/zawier/p/9009121.html