背景:
近写BigDecimal的数字比较,123和123.00居然被认为是不等的两个数
测试效果如下:
后翻源码发现:
1.equals方法比较value和scale(数值和精度),精度不一样,也返回false
2.compareTo的描述,数值相同但是精度不同的两个数(例如123和123.00)被认为是相等的两个数,返回0
另附a.compareTo(b)方法的返回含义
a<b, 返回-1
a=b,返回0
a>b, 返回1
背景:
近写BigDecimal的数字比较,123和123.00居然被认为是不等的两个数
测试效果如下:
后翻源码发现:
1.equals方法比较value和scale(数值和精度),精度不一样,也返回false
2.compareTo的描述,数值相同但是精度不同的两个数(例如123和123.00)被认为是相等的两个数,返回0
另附a.compareTo(b)方法的返回含义
a<b, 返回-1
a=b,返回0
a>b, 返回1