Heim  >  Artikel  >  Java  >  So vergleicht BigDecimal die Größe

So vergleicht BigDecimal die Größe

DDD
DDDOriginal
2023-12-06 13:44:584554Durchsuche

Methoden zum Vergleichen von Größen: 1. Verwenden Sie die Methode „compareTo()“. 2. Verwenden Sie die Methode „equals()“. 3. Verwenden Sie die Methode „compareTo“. ()“ Methodenkettenaufrufe usw.

BigDecimal ist eine Klasse in Java, die zur Verarbeitung hochpräziser Gleitkommaoperationen verwendet wird. Bei Vergleichen bietet BigDecimal Methoden zum Vergleichen der Größen zweier Objekte. Im Folgenden finden Sie mehrere Methoden zum Vergleichen der Größen von BigDecimal-Objekten:

1. Verwenden Sie die Methode „compareTo()“: Die Methode „compareTo()“ gibt einen ganzzahligen Wert zurück, der die Größenbeziehung zwischen zwei BigDecimal-Objekten angibt. Wenn der Rückgabewert negativ ist, bedeutet dies, dass das erste Objekt kleiner als das zweite Objekt ist; wenn der Rückgabewert Null ist, sind die beiden Objekte gleich; wenn der Rückgabewert positiv ist, bedeutet dies, dass das erste Objekt größer als das zweite Objekt ist .

Beispielcode:

import java.math.BigDecimal;  
  
public class BigDecimalComparison {  
    public static void main(String[] args) {  
        BigDecimal number1 = new BigDecimal("10.5");  
        BigDecimal number2 = new BigDecimal("20.5");  
          
        int result = number1.compareTo(number2);  
          
        if (result < 0) {  
            System.out.println("number1 < number2");  
        } else if (result > 0) {  
            System.out.println("number1 > number2");  
        } else {  
            System.out.println("number1 = number2");  
        }  
    }  
}
Ausgabeergebnis:
number1 < number2

2. Verwenden Sie die Methode equal(): Die Methode

equals() wird verwendet, um zu vergleichen, ob zwei BigDecimal-Objekte gleich sind. Es vergleicht, ob der numerische Wert und die Skalierung (Anzahl der Nachkommastellen) zweier Objekte gleich sind. Bei Gleichheit wird „true“ zurückgegeben; andernfalls wird „false“ zurückgegeben.

Beispielcode:

import java.math.BigDecimal;  
  
public class BigDecimalComparison {  
    public static void main(String[] args) {  
        BigDecimal number1 = new BigDecimal("10.5");  
        BigDecimal number2 = new BigDecimal("10.50");  
          
        boolean isEqual = number1.equals(number2);  
          
        if (isEqual) {  
            System.out.println("number1 = number2");  
        } else {  
            System.out.println("number1 != number2");  
        }  
    }  
}
Ausgabeergebnis:
number1 != number2

Hinweis: Beim Vergleich von BigDecimal-Objekten mit der Methode equal() wird der Skalierungsparameter, der die Anzahl der Nachkommastellen angibt, berücksichtigt. Daher müssen Sie beim Vergleich auf die Skaleneinstellung achten.

3. Verwenden Sie die überladene Version der Methode „compareTo()“: Die Methode „compareTo()“ verfügt auch über eine überladene Version, die zum Vergleichen der relativen Größe zweier BigDecimal-Objekte mit einem angegebenen Objekt verwendet werden kann. Der Rückgabewert dieser überladenen Version ist derselbe wie der Rückgabewert der Methode „compareTo()“. Mit dieser Methode können wir die Größenbeziehung zwischen zwei Objekten und einem bestimmten Objekt vergleichen.

Beispielcode:

import java.math.BigDecimal;  
  
public class BigDecimalComparison {  
    public static void main(String[] args) {  
        BigDecimal number1 = new BigDecimal("10.5");  
        BigDecimal number2 = new BigDecimal("20.5");  
        BigDecimal number3 = new BigDecimal("15.5");  
          
        int result = number1.compareTo(number2).compareTo(number3);  
          
        if (result < 0) {  
            System.out.println("number1 < number2 < number3");  
        } else if (result == 0) {  
            System.out.println("number1 = number2 = number3");  
        } else {  
            System.out.println("number1 > number2 > number3");  
        }  
    }  
}

In diesem Beispiel vergleichen wir zuerst die Größenbeziehung zwischen Nummer1 und Nummer2, übergeben dann das Ergebnis an die Methode CompareTo() und vergleichen dann die Größenbeziehung zwischen Ergebnis und Nummer3. Das Endergebnis ist eine negative Zahl, was bedeutet, dass Nummer1 kleiner als Nummer2 und Nummer2 größer als Nummer3 ist, sodass „Nummer1 f54c0ed3266ffc35aed45172c51c0557 Nummer3“ ausgegeben werden kann.

4. Verwenden Sie verkettete Aufrufe der Methode „compareTo()“: Die Methode „compareTo()“ kann auch verkettet werden, um mehrere Vergleiche in einem Vorgang durchzuführen. Durch Kettenaufrufe können wir die Größenbeziehung zwischen zwei Objekten und mehreren Objekten vergleichen.

Beispielcode:

import java.math.BigDecimal;  
  
public class BigDecimalComparison {  
    public static void main(String[] args) {  
        BigDecimal number1 = new BigDecimal("10.5");  
        BigDecimal number2 = new BigDecimal("20.5");  
        BigDecimal number3 = new BigDecimal("15.5");  
          
        int result = number1.compareTo(number2).compareTo(number3);  
          
        if (result < 0) {  
            System.out.println("number1 < number2 < number3");  
        } else if (result == 0) {  
            System.out.println("number1 = number2 = number3");  
        } else {  
            System.out.println("number1 > number2 > number3");  
        }  
    }  
}
Ausgabeergebnis:
number1 < number2 > number3

In diesem Beispiel verwenden wir Kettenaufrufe, um die Größenbeziehung von drei Objekten zu vergleichen. Vergleichen Sie zuerst Nummer1 und Nummer2, dann Nummer2 und Nummer3 und erhalten Sie schließlich das vollständige Vergleichsergebnis.

Kurz gesagt, die BigDecimal-Klasse bietet eine Vielzahl von Methoden zum Vergleichen von Größen. Wir können die geeignete Methode auswählen, um verschiedene Situationen entsprechend den spezifischen Anforderungen zu bewältigen.

Das obige ist der detaillierte Inhalt vonSo vergleicht BigDecimal die Größe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn