我是靠谱客的博主 甜美外套,最近开发中收集的这篇文章主要介绍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 BigDecimal的equals和compareTo所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部