java bigdecimal 相等
时间: 2023-11-22 14:47:40 浏览: 72
java大数相加
Java中的BigDecimal类提供了equals()方法来比较两个BigDecimal对象是否相等。需要注意的是,equals()方法比较的是数值和精度,而不是对象的引用。因此,即使两个BigDecimal对象的值相等,如果它们的精度不同,equals()方法也会返回false。下面是一个比较两个BigDecimal对象是否相等的例子:
```java
import java.math.BigDecimal;
public class BigDecimalEqualsExample {
public static void main(String[] args) {
BigDecimal bd1 = new BigDecimal("1.0");
BigDecimal bd2 = new BigDecimal("1.00");
BigDecimal bd3 = new BigDecimal("1.000");
System.out.println(bd1.equals(bd2)); // 输出:false
System.out.println(bd1.equals(bd3)); // 输出:false
System.out.println(bd2.equals(bd3)); // 输出:false
BigDecimal bd4 = new BigDecimal("1.0000");
System.out.println(bd3.equals(bd4)); // 输出:true
}
}
```
上面的例子中,我们创建了三个BigDecimal对象bd1、bd2和bd3,它们的值都是1.0,但是精度不同。我们使用equals()方法比较它们的相等性,发现结果都是false。然后我们创建了一个新的BigDecimal对象bd4,它的值也是1.0,但是精度和bd3相同。我们再次使用equals()方法比较它们的相等性,这次结果是true。
阅读全文