Wie kann man die Genauigkeit und Rundung von Gleitkommaberechnungen in Java einschränken?
In Java können Sie die Genauigkeit und Rundung von Gleitkommaberechnungen auf verschiedene Weise einschränken:
- Verwenden Sie die Klasse BigDecimal, um präzise Berechnungen durchzuführen und die Anzahl der Nachkommastellen zu begrenzen.
Beispiel:
BigDecimal num1 = new BigDecimal("10.123456789");
BigDecimal num2 = new BigDecimal("20.987654321");
BigDecimal result = num1.multiply(num2).setScale(2, RoundingMode.HALF_UP);
System.out.println(result);
Dieses Beispiel multipliziert zwei BigDecimal-Objekte und rundet das Ergebnis auf 2 Nachkommastellen mit der Rundungsmethode HALF_UP.
- Verwenden Sie die Methode Math.round(), um eine Gleitkommazahl auf eine bestimmte Anzahl von Nachkommastellen zu runden.
Beispiel:
double num = 10.123456789;
double roundedNum = Math.round(num * 100.0) / 100.0;
System.out.println(roundedNum);
Dieses Beispiel rundet die Gleitkommazahl auf 2 Nachkommastellen, indem sie mit 100 multipliziert, gerundet und dann durch 100 geteilt wird.
- Verwenden Sie die Klasse DecimalFormat, um eine Gleitkommazahl in einem bestimmten Format zu formatieren und zu runden.
Beispiel:
double num = 10.123456789;
DecimalFormat df = new DecimalFormat("#.##");
df.setRoundingMode(RoundingMode.HALF_UP);
String formattedNum = df.format(num);
System.out.println(formattedNum);
Dieses Beispiel formatiert die Gleitkommazahl auf 2 Nachkommastellen mit der Rundungsmethode HALF_UP.