NumberFormat

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen


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:

double number = 1234.56;
String str = NumberFormat.getInstance().format(number);

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:

NumberFormat formatter = NumberFormat.getInstance(Locale.FRENCH);
number = formatter.parse(str);

Die Ausgabe wird so aussehen: 1 234,56

Ausschalten der Tausender-Trennzeichen

formatter.setGroupingUsed(false);

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.

Weitere Informationen sind im Artikel Fließkommazahlen mit Java runden zu finden.

Siehe auch

Quellen


Fragen

Das Thema wurde nicht ausreichend behandelt? Du hast Fragen dazu und brauchst weitere Informationen? Lass Dir von uns helfen!

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.