Überprüfen Sie, ob der BigDecimal-Wert im Bereich liegt

7

Ich habe BiGDecimal price und ich muss prüfen, ob es in einem bestimmten Bereich ist. Zum Beispiel sollten 3 Bedingungen sein:

%Vor%

Wie man es mit BigDecimal richtig macht.

    
user3127896 18.11.2014, 14:24
quelle

7 Antworten

12

Das ist erreichbar mit .compareTo () Methode. Zum Beispiel:

%Vor%

Zitieren (und paraphrasieren) von der JavaDoc:

  

Das vorgeschlagene Idiom zum Durchführen dieser Vergleiche ist: (x.compareTo (y) op 0), wobei op ist einer der sechs Vergleichsoperatoren [(& lt ;, ==, & gt ;, & gt; =,! =, & lt; =)]

Prost,

    
Anders R. Bystrup 18.11.2014, 14:30
quelle
6

Es gibt keine Abhilfe, denke ich. Schließlich könnten Sie es in ein schönes Entwurfsmuster einbinden, aber BigDecimal hat nur eine Methode zum Vergleichen.

Meine Idee ist, eine Methode für den Bereich zu extrahieren:

%Vor%     
Beri 18.11.2014 14:29
quelle
4

Lass es generisch machen:

%Vor%     
Kirill Karandin 01.12.2017 11:29
quelle
1

Verwenden Sie compareTo Methode

  

java.math.BigDecimal.compareTo (BigDecimal val)

Diese Methode gibt -1 zurück, wenn BigDecimal kleiner als val ist, 1, wenn BigDecimal größer als val ist und 0, wenn BigDecimal gleich val

ist     
Prabhu R.D 18.11.2014 14:29
quelle
1

Sie können etw so tun;

%Vor%

Ressource: Ссылка

    
Semih Eker 18.11.2014 14:29
quelle
1

Verwenden Sie BigDecimal.compareTo(val) um zu vergleichen, ob Ihre Nummer größer, kleiner oder gleich ist.

  

gibt -1, 0 oder 1 zurück, da BigDecimal numerisch kleiner als, gleich oder größer als val ist.

%Vor%     
Simulant 18.11.2014 14:27
quelle
0

Verwenden Sie die Signum-Methode aus der BigDecimal-Klasse:

%Vor%     
dani77 16.11.2016 13:33
quelle

Tags und Links