NumberFormat
Inhaltsverzeichnis
Einleitung
Die Klasse NumberFormat
aus dem Paket java.text
ist die Basisklasse für alle Zahlenformate.
Mit ihrer Hilfe können ganz bestimmte Formatierungen von Zahlen erzeugt werden, die auch automatisch die Standardformatierung des lokalen Gebietes annehmen können. Der geschriebene Code bleibt völlig unabhängig von den Gebietsschema-Konventionen für Dezimalstellen, Tausender-Trennzeichen oder sogar den Dezimalstellen (Nachkommastellen).
Beispiele
Lokales Gebietsschema
Um eine Zahl für das lokale Gebietsschema zu formatieren, verwenden wir eine der Methoden der Factory-Klasse:
<code=java>double number = 1234.56 String str = NumberFormat.getInstance().format(number); </code=java>
Die Ausgabe in Deutschland wird so aussehen: 1.234,56
In den USA so: 1,234.56
Bestimmtes Gebietsschema
Man kann ein bestimmtes Gebietsschema festlegen. Die Ausgabe wird dann unabhängig vom lokalen Gebietsschema auf das eingestellte Gebietsschema gezwungen.
Im folgenden Beispiel soll immer die Formatierung des französischen Gebietsschemata ausgegeben werden:
<code=java>NumberFormat formatter = NumberFormat.getInstance(Locale.FRENCH); number = formatter.parse(str); </code=java>
Die Ausgabe wird so aussehen: 1 234,56
Ausschalten der Tausender-Trennzeichen
<code=java>formatter.setGroupingUsed(false);</code=java>
Runden
Übrigens kann man Dezimalzahlen mit Hilfe der Methode NumberFormat#setMaximumFractionDigits(int value)
auf eine festgelegte Anzahl an Nachkommastellen begrenzen. Dabei wird auch eine Rundung der Zahl vorgenommen.
<code=java> double number = 1234.565; formatter.setMaximumFractionDigits(2) str = formatter.format(number); </code=java>
Die Ausgabe wird so aussehen: 1.234,57
Siehe auch
Quellen
Fragen
Das Thema wurde nicht ausreichend behandelt? Du hast Fragen dazu und brauchst weitere Informationen? Lass Dir von uns helfen!
- Besuche uns im Byte-Welt-Forum
- Besuche unseren Chat
Wir helfen dir gerne!
Dir hat dieser Artikel gefallen? Oder Du hast Fehler entdeckt und möchtest zur Berichtigung beitragen? Prima! Schreibe einen Kommentar!
Du musst angemeldet sein, um einen Kommentar abzugeben.