Datentypen BigDecimal Vergleichen ob Ergebnis >= 200

AssELAss

Aktives Mitglied
Hallo zusammen,

wie stellt man den oben genannten Vergleich an? Die compareTo() - Methode gibt mir noch Rätsel auf.

Mein Ziel ist es, wenn das zu multiplizierende Ergebnis >= 200 beträgt, dann gebe mir 200 aus,
ansonsten gib mir das exakte Ergebnis aus.

Kann ich auch das ergebnis mit sich selbst vergleichen?

Hier ein kleines Beispiel:

Java:
public class Test {
   public static void main(String[] args) {
   
  BigDecimal multi = new BigDecimal(10, MathContext.DECIMAL32);
  BigDecimal big = new BigDecimal(188, MathContext.DECIMAL32);
  BigDecimal konstant = new BigDecimal(200, MathContext.DECIMAL32);//  brauch ich das?

  BigDecimal ergebnis = big.multiply(multi);
 
 
     if (ergebnis.compareTo(konstant) >= 200 )
     
       System.out.println(konstant);
     
     else
     
       System.out.println(ergebnis);


   }

}
 
Zuletzt bearbeitet von einem Moderator:
BigDecimal bietet die Methode "min" an.
Java:
ergebnis = ergebnis.min(konstant);
sorgt dafür, dass dein "ergebnis" mit 200 nach oben begrenzt wird.
 
Java:
        if (ergebnis.doubleValue() >= konstant.doubleValue()) {
            System.out.println(konstant);
        }
        else {
            System.out.println(ergebnis);
        }
 
bist du sicher das du BigDecimal wirklich brauchst? In deinem Beispielcode verwendest du nämlich nur "kleine" Ganzzahlen, weswegen du sogar locker mit int auskommen würdest.
 

Zurück
Oben