Java

java怎么判断两个bigdecimal是否相等

小亿
129
2023-11-25 03:38:59
栏目: 编程语言

在Java中,可以使用compareTo()方法来比较两个BigDecimal对象是否相等。compareTo()方法返回一个整数值,表示两个BigDecimal对象的比较结果。

代码示例:

import java.math.BigDecimal;

public class CompareBigDecimal {
    public static void main(String[] args) {
        BigDecimal num1 = new BigDecimal("10.02");
        BigDecimal num2 = new BigDecimal("10.02");
        BigDecimal num3 = new BigDecimal("10.03");

        // 使用compareTo()方法比较两个BigDecimal对象
        int result1 = num1.compareTo(num2); // 返回0,表示相等
        int result2 = num1.compareTo(num3); // 返回-1,表示num1小于num3

        // 判断两个BigDecimal对象是否相等
        boolean isEqual = result1 == 0;
        System.out.println("num1是否等于num2: " + isEqual); // 输出true

        isEqual = result2 == 0;
        System.out.println("num1是否等于num3: " + isEqual); // 输出false
    }
}

在上述代码中,我们使用compareTo()方法比较了两个BigDecimal对象num1num2,并将比较结果存储在result1中。然后,我们通过判断result1是否等于0来判断num1是否等于num2

同样,我们也可以使用equals()方法来判断两个BigDecimal对象是否相等。equals()方法会调用compareTo()方法进行比较,如果返回结果为0,则表示两个对象相等。

代码示例:

public class CompareBigDecimal {
    public static void main(String[] args) {
        BigDecimal num1 = new BigDecimal("10.02");
        BigDecimal num2 = new BigDecimal("10.02");
        BigDecimal num3 = new BigDecimal("10.03");

        // 使用equals()方法比较两个BigDecimal对象
        boolean isEqual = num1.equals(num2); // 返回true,表示相等
        System.out.println("num1是否等于num2: " + isEqual); // 输出true

        isEqual = num1.equals(num3); // 返回false,表示不相等
        System.out.println("num1是否等于num3: " + isEqual); // 输出false
    }
}

在上述代码中,我们使用equals()方法比较了两个BigDecimal对象num1num2,并将比较结果存储在isEqual变量中。然后,我们可以直接使用isEqual变量来判断num1是否等于num2

0
看了该问题的人还看了