BigDecimal compareTo方法

时间:2020-02-23 14:41:14  来源:igfitidea点击:

在本教程中,我们将看到关于BigDecimal的Compareto方法。

此方法用于比较两个大数字。

语法

public int CompareTo(BigDecimal b)

返回类型

Compareto方法返回-1,0,1 -1:首先是大于第二个BigDecimal 0:首先是BigDecimal等于第二大型1:第一个BigDecimal大于第二个BigDecimal

BigDecimal Compareto示例

让我们在示例的帮助下查看CompareTo方法。

import java.math.*;
class BigDecimalDemo {
 
	public static void main(String[] args) {
 
		//create 2 BigDecimal objects
		BigDecimal bigdecimal1 = new BigDecimal("80");
		BigDecimal bigdecimal2 = new BigDecimal("40");
 
		
        //comparing bigdecimal1 and bigdecimal2
		int result = bigdecimal1.compareTo(bigdecimal2); 
 
		if( result == -1 )
			System.out.println("First BigDecimal is less than Second BigDecimal");	
		else if( result == 0)
			System.out.println("First BigDecimal is equal to Second BigDecimal");
		else if( result == 1 )
			System.out.println("First BigDecimal is greater than Second BigDecimal");
	}
}

上面的程序将生成低于输出。

First BigDecimal is greater than Second BigDecimal

BigDecimal Compareto VS等于

与et等方法不同,如果两个BigDecimals具有相同的值但不同的缩放,则Compareto方法将返回0. it persperto方法将认为它们相等。

import java.math.*;
class BigDecimalDemo {
 
	public static void main(String[] args) {
 
		//create 2 BigDecimal objects
		BigDecimal bigdecimal1 = new BigDecimal("20.0");
		BigDecimal bigdecimal2 = new BigDecimal("20.000");
 
		System.out.println("Using BigDecimal compareTo method");
        //comparing bigdecimal1 and bigdecimal2 using CompareTo method
		int result = bigdecimal1.compareTo(bigdecimal2); 
 
		if( result == -1 )
			System.out.println("First BigDecimal is less than Second BigDecimal");	
		else if( result == 0)
			System.out.println("First BigDecimal is equal to Second BigDecimal");
		else if( result == 1 )
			System.out.println("First BigDecimal is greater than Second BigDecimal");
			
		System.out.println("=================");
		System.out.println("Using BigDecimal equals method");
		//comparing bigdecimal1 and bigdecimal2 using equals method
		boolean equalsResult=bigdecimal1.equals(bigdecimal2);
		if(equalsResult)
			System.out.println("First BigDecimal is equal to Second BigDecimal");
		else
			System.out.println("First BigDecimal is not equal to Second BigDecimal");
	}
}

运行上面的程序时,我们将得到以下输出。

Using BigDecimal compareTo method
First BigDecimal is equal to Second BigDecimal
=================
Using BigDecimal equals method
First BigDecimal is not equal to Second BigDecimal

与零的BigDecimal比较

有多种方法可以使用0.best的方式比较大量的方式是:

bigDecimal.compareTo(BigDecimal.ZERO)>0

让我们在简单的例子的帮助下看看。

import java.math.*;
class BigDecimalDemo {
 
	public static void main(String[] args) {
 
		//create BigDecimal object
		BigDecimal bigdecimal1 = new BigDecimal("1.0");
        //comparing bigdecimal1 and zero using CompareTo method
		int result = bigdecimal1.compareTo(BigDecimal.ZERO); 
 
		if( result == -1 )
			System.out.println("BigDecimal is less than Zero");	
		else if( result == 0)
			System.out.println("BigDecimal is equal to Zero");
		else if( result == 1 )
			System.out.println("BigDecimal is greater than Zero");
	}
}

运行上面的程序时,我们将得到以下输出。

BigDecimal is greater than Zero