您的位置:首页 > 编程语言 > Java开发

BigDecimal比较大小

2013-04-20 12:41 295 查看
       BigDecimal比较大小

  这个类是java里精确计算的类,下面说一下两个BigDecimal对象大小,相等的判断

   1 比较对象是否相等

     一般的对象用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 大于
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  转载 java