Fließkommazahlen mit Java runden: Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
K
K (NumberFormat)
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}}.
  
Dazu haben wir bereits einen Abschnitt im Artikel [[NumberFormat#Runden|NumberFormat]] gewidmet.
+
<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.