首页 >Java >java教程 >在java中怎么比较BigDecimal的值

在java中怎么比较BigDecimal的值

WBOY
WBOY转载
2023-04-18 16:25:033433浏览

1、使用equals()方法不但要求两个BigDecimal的值相等,还要求它们的scale()相等。

   BigDecimal d1 = new BigDecimal("123.45");
   BigDecimal d2 = new BigDecimal("123.45000");
   System.out.println(d1.equals(d2)); // false,因为scale不同
   System.out.println(d1.equals(d2.stripTrailingZeros())); // true,因为d2去除尾部0后scale变为2,与d1相同

2、使用compareTo()方法来比较两数大小,它根据两个值的大小分别返回-1、1和0,分别表示小于、大于和等于。

    import java.math.BigDecimal;
    public class Demo {
     public static void main(String[] args) {
      BigDecimal d1 = new BigDecimal("123.45");
      BigDecimal d2 = new BigDecimal("123.45000");
      BigDecimal d3 = new BigDecimal("123.40");
      System.out.println(d1.compareTo(d2)); // 0
      System.out.println(d1.compareTo(d3));//  1
      System.out.println(d3.compareTo(d2));// -1
     }
    }

以上是在java中怎么比较BigDecimal的值的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:yisu.com。如有侵权,请联系admin@php.cn删除