0%

BigDecimal类型数据大小比较

在进行精确数值计算时,需要使用BigDecimal类型。本文将介绍BigDecimal类型的比较。

使用equals和compareTo比较两个BigDecimal类型数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.math.BigDecimal;

public class BigDecimalDemo {
public static void main(String[] args) {
BigDecimal bd1 = new BigDecimal("2.10");
BigDecimal bd2 = new BigDecimal("2.1");

System.out.println("bd1 equals bd2: " + bd1.equals(bd2));
System.out.println("bd1 compareTo bd2: " + bd1.compareTo(bd2));
}
}

输出结果:
bd1 equals bd2: false
bd1 compareTo bd2: 0

由结果可以看出equals方法会比较两个数据的scale(精度),而compareTo是对两个数据的数值进行比较,不比较它们的scale

总结

在电子商务中进行价格计算的时候经常会使用到此种数据,进行两个价格进行比较时,需要使用compareTo

EOF