我是靠谱客的博主 甜美外套,这篇文章主要介绍JAVA BigDecimal的equals和compareTo,现在分享给大家,希望可以做个参考。

一,区别

因为BigDecimal是对象,所以不能用==来判断两个数字的值是否相等。那使用equals和compareTo这两个方法有啥区别呢???equals方法会比较两部分内容,分别是值(value)和精度(scale),而compareTo方法比较会忽略精度。

二,为什么BigDecimal精度不同

这个问题其实是比较复杂的,由于不是本文的重点,这里面就不过多介绍。大家感兴趣的话,可以在去看下BigDecimal构造函数的源码。

BigDecimal一共有以下4个构造方法:

BigDecimal(int)
BigDecimal(double) 
BigDecimal(long) 
BigDecimal(String)

以上四个方法,创建出来的的BigDecimal的精度是不同的。

三,equals比较代码截图

equals代码中比较了精度的代码

 

四,测试小案例

代码:

运行结果:

 

 

最后

以上就是甜美外套最近收集整理的关于JAVA BigDecimal的equals和compareTo的全部内容,更多相关JAVA内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(161)

评论列表共有 0 条评论

立即
投稿
返回
顶部