Fließkommazahlen mit Java runden: Unterschied zwischen den Versionen
K |
K (L-ectron-X verschob die Seite Runden mit Java nach Fließkommazahlen mit Java runden, ohne dabei eine Weiterleitung anzulegen) |
(kein Unterschied)
|
Version vom 2. April 2018, 16:33 Uhr
String#format()
In Programmen müssen Ergebnisse von Berechnungen oft für eine Ausgabe passend formatiert werden. Dazu gehört auch das Runden, bspw. von Euro-Beträgen.
import java.util.Locale;
public class StringFormat {
public static void main(String[] args) {
double number = 1234.565;
System.out.println(number+" gerundet: "+String.format("%1.2f", number));
}
}
Möchte man bspw. das englische oder französische Zahlenformat ausgeben, muss noch ein passendes Locale
als erster Parameter der format()-Methode übergeben werden.
Ansonsten wird das von der JRE erkannte Locale des Betriebssystems verwendet.
NumberFormat
Auch relativ einfach ist das Runden von Fließkommazahlen mit NumberFormat.
import java.text.NumberFormat;
public class StringFormat {
public static void main(String[] args) {
double number = 1234.565;
NumberFormat formatter = NumberFormat.getInstance();
formatter.setMaximumFractionDigits(2);
System.out.println(number+" gerundet: "+formatter.format(number));
}
}
Mit Hilfe der Methode NumberFormat#setMaximumFractionDigits(int value)
auf eine festgelegte Anzahl an Nachkommastellen begrenzen. Dabei wird auch eine Rundung der Zahl vorgenommen.
Möchte man bspw. das englische oder französische Zahlenformat ausgeben, muss noch ein passendes Locale
als Parameter der getInstance()
-Methode übergeben werden.
Ansonsten wird das von der JRE erkannte Locale des Betriebssystems verwendet.