首页 头条 直播 产业 电竞 手游 页游 电玩 测评 WAP版设为首页
中国游戏之声全频道覆盖游戏产业全火力输出游戏资讯
首页 / 电竞世界 / 正文

bigdecimal比较大小现实相等的两个数字为何输出false

来源:游戏之声
作者:
时间:2021-07-12

两个BigDecimal对象大小,相等的判断:一般的对象用equals,但是BigDecimal比较特殊,举个例子:
     BigDecimal a=BigDecimal.valueOf(1.0);
     BigDecimal b=BigDecimal.valueOf(1.000);
     在现实中这两个数字是相等的,但是问题来来了。a.equals(b)结果是false;怎么不相等了呢?

解决方法:
  if(a.compareTo(b)==0)结果是true
     public int compareTo(BigDecimal val)
          Compares this BigDecimal with the specified BigDecimal.
         Two BigDecimal objects that are equal in value but have a different
         scale (like 2.0 and 2.00) are considered equal by this method.
         This method is provided in preference to individual methods for each of
         the six boolean comparison operators (<, ==, >, >=, !=, <=).
         The suggested idiom for performing these comparisons is: (x.compareTo(y) <op> 0), where <op> is one of the six comparison operators.
    Specified by:
    compareTo in interface Comparable<BigDecimal>
    Parameters:
    val - BigDecimal to which this BigDecimal is to be compared.
    Returns:
       -1, 0, or 1 as this BigDecimal is numerically less than, equal to, or greater than val.
    简单翻译:
           结果是  -1 小于 、 0 等于 、 1 大于。

0
(查看全部0条评论)文明上网理性发言,请遵守新闻评论服务协议!
    
   (您的评论通过审核之后才能显示,请文明发言!)                           
中国游戏之声全频道覆盖游戏产业全火力输出游戏资讯
中国游戏之声
更新时间:2021-07-01
点评(1)
中国游戏之声
更新时间:2020-03-31
点评(1)
中国游戏之声全频道覆盖游戏产业全火力输出游戏资讯
游戏之声MORE

杀死斯巴达,一款动作类的小游戏。一款火柴人残忍的格斗游戏,目...[详细]

虽然九命猫在游戏当中只是一个R级式神,但是不代表九命猫就是一个...[详细]

热点推荐MORE
中国游戏之声全频道覆盖游戏产业全火力输出游戏资讯
  • 友情链接商务洽谈联系方式
  • Email:894204689@qq.com
  • 网站地图联系方式广告合作关于我们
  • 中国游戏之声版权所有违者必究 备案号浙ICP(备)15095275
  • CopyRight @ 2008-2021 游戏之声 All Right Reserved