BigDecimal之间比较大小
时间: 2023-06-26 15:07:58 浏览: 173
关于BigDecimal的构造函数与大小比较
5星 · 资源好评率100%
在Java中,BigDecimal类提供了三个比较方法:compareTo、equals和signum,用于比较两个BigDecimal对象的大小。
1. compareTo方法
compareTo方法用于比较两个BigDecimal对象的大小,返回值为int类型,具体规则如下:
- 如果调用者大于参数,则返回1;
- 如果调用者等于参数,则返回0;
- 如果调用者小于参数,则返回-1。
示例代码:
```
BigDecimal num1 = new BigDecimal("1.23");
BigDecimal num2 = new BigDecimal("1.24");
int result = num1.compareTo(num2);
if(result < 0) {
System.out.println("num1 is less than num2");
} else if(result == 0) {
System.out.println("num1 is equal to num2");
} else {
System.out.println("num1 is greater than num2");
}
```
2. equals方法
equals方法用于比较两个BigDecimal对象的值是否相等,返回值为boolean类型。
示例代码:
```
BigDecimal num1 = new BigDecimal("1.23");
BigDecimal num2 = new BigDecimal("1.230");
if(num1.equals(num2)) {
System.out.println("num1 is equal to num2");
} else {
System.out.println("num1 is not equal to num2");
}
```
3. signum方法
signum方法用于获取一个BigDecimal对象的符号,返回值为int类型,具体规则如下:
- 如果调用者大于0,则返回1;
- 如果调用者等于0,则返回0;
- 如果调用者小于0,则返回-1。
示例代码:
```
BigDecimal num1 = new BigDecimal("-1.23");
int signum = num1.signum();
if(signum < 0) {
System.out.println("num1 is negative");
} else if(signum == 0) {
System.out.println("num1 is zero");
} else {
System.out.println("num1 is positive");
}
```
阅读全文