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.



About the author

William Pham is the Admin and primary author of Howto-Code.com. With over 10 years of experience in programming. William Pham is fluent in several programming languages, including Python, PHP, JavaScript, Java, C++.