Fließkommazahlen mit Java runden: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
|||
| Zeile 18: | Zeile 18: | ||
Auch relativ einfach ist das Runden von Fließkommazahlen mit {{JAPI|NumberFormat}}. | Auch relativ einfach ist das Runden von Fließkommazahlen mit {{JAPI|NumberFormat}}. | ||
<code=java> | |||
double number = 1234.565; | |||
formatter.setMaximumFractionDigits(2); | |||
String str = NumberFormat.getInstance().format(number); | |||
</code=java> | |||
<code>NumberFormat#setMaximumFractionDigits(int value)</code> auf eine festgelegte Anzahl an Nachkommastellen begrenzen. Dabei wird auch eine Rundung der Zahl vorgenommen. | |||
[[Kategorie:Java]] | [[Kategorie:Java]] | ||
[[Kategorie:Java-Codeschnipsel]] | [[Kategorie:Java-Codeschnipsel]] | ||
Version vom 8. Februar 2018, 15:13 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.
<code=java> import java.util.Locale;
public class StringFormat {
public static void main(String[] args) {
Double myDouble = 123.456;
System.out.println(myDouble+" gerundet: "+String.format("%1.2f", myDouble));
}
}
</code=java>
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.
<code=java> double number = 1234.565; formatter.setMaximumFractionDigits(2); String str = NumberFormat.getInstance().format(number); </code=java>
NumberFormat#setMaximumFractionDigits(int value) auf eine festgelegte Anzahl an Nachkommastellen begrenzen. Dabei wird auch eine Rundung der Zahl vorgenommen.
