Decimalformat ist eine konkrete Unterklasse von Numberformat, die zur Format -Dezimalzahlen verwendet wird. Es kann die Lokalisierung verschiedener Arten von Zahlen unterstützen, einschließlich Ganzzahlen (123), festen Punktzahlen (123,4), wissenschaftlichen Notationen, die Zahlen (1,23E4), Prozentsätze (12%) und Beträge (123 USD) dargestellt haben.
Lassen Sie uns zunächst die Verwendung von Decimalformat vorstellen:
Java.Text importieren.*; import Java.util.*; öffentliche Klasse DecimalFormatdemo {public static void main (String args []) {DecimalFormat df1 = new DecimalFormat ("###, ###. 0000"); // Verwenden Sie das System -Standardformat system.out.println (df1.format (1111111112333456.12)); Locale.SetDefault (Locale.us); DecimalFormat df2 = new DecimalFormat ("##, ###. 0000"); // Verwenden Sie das US -Formatsystem.out.println (df2.format (11111111123456.12)); //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ (DecimalFormat) numberFormat.GetpercentinStance (); } catch (classCastException e) {<span style = "White-Space: pre"> </span> System.err.println (e); } df5.appyprenyn ("00.0000%"); System.out.println (df5.Format (0,34567)); System.out.println (df5.Format (1.34567)); }} (1) Zur Rundung von Daten:
Decimalformat enthält eine Reihe von Symbolen, und die Bedeutung jedes Symbols wird wie folgt erklärt:
0 Eine Zahl
# Eine Nummer, nicht einschließlich 0
. Platzhalter für Dezimalabschlüsse
, Platzhalter für Gruppentrainer
; Abgrenzter Format.
- Standardnegatives Präfix.
% multipliziert mit 100 und als Prozentsatz angezeigt
? Multiplizieren Sie mit 1000 und dienen Sie als Kilogramm; durch Währungssymbole ersetzen; Wenn Sie doppelt geschrieben sind, ersetzen Sie durch internationale Währungssymbole. Wenn es in einem Muster angezeigt wird, verwenden Sie den Dezimaltrennzeichen anstelle des Dezimalseparators.
X Präfix oder ein anderes im Suffix verwendetes Zeichen, um sich auf Sonderzeichen im Präfix oder Suffix zu beziehen.
Zum Beispiel:
Decimalformat df1 = new DecimalFormat ("### 0,00"); // zwei Dezimalstellen beibehalten, und wenn es weniger als zwei Dezimalstellen gibt, wird die Null automatisch ergänzt. System.out.println (df1.format (124.3)); DecimalFormat df2 = new DecimalFormat ("### 0. ##"); // zwei Dezimalstellen behalten, und wenn es weniger als zwei Dezimalstellen gibt, wird das Null ergänzt. System.out.println (df2.format (124)); DecimalFormat df3 = new DecimalFormat ("000.000"); // Drei Dezimalstellen behalten und Nullen wieder gut machen, wo es nicht genügend Ziffern system.out.println (df3.Format (24)) gibt; DecimalFormat DF = New Decimalformat ("0,000E0000"); // Exponent System.out.println (df.format (1234.56)); DecimalFormat NF = (DecimalFormat) numberFormat.GetpercentInstance (); //PercentSystem.out.println(nf.format(0.476354)); NF.Appypattern ("00,00%"); System.out.println (NF.Format (0,476354)); Auslaufergebnisse:
124,37 124.30 124.6 124 024.000 1,235e0003 48% 47,64%
(2) zum Lesen und Parsinieren von Zeichenfolgen mit formatierten Zahlen? Auflösungsunterstützung ist in NumberFormat enthalten. Zum Beispiel:
Import Java.util.locale; Java.Text.numberformat importieren; Java.text.ParseException importieren; public class decimalFormat5 {public static void main (String args []) {// Lokale FormatnummerFormat nf1 = numberFormat.getInstance (); Objekt obj1 = null; // Formatbasiertes Parsing try {obj1 = nf1.parse ("1234,56"); } catch (parseException e1) {System.err.println (e1); } System.out.println (obj1); // Deutsche FormatnummerFormat NF2 = numberFormat.getInstance (Locale.german); Objekt obj2 = null; // Formatbasiertes Parsing try {obj2 = nf2.Parse ("1234,56"); } catch (parseException e2) {System.err.println (e2); } System.out.println (obj2); }} Auslaufergebnisse:
123456 // Betrieb in den Vereinigten Staaten; als Zeichenfolge 1234.56 // Betrieb in Deutschland; als Dezimalzahl angesehen
(3) für Decimalformat und NumberFormat:
Decimalformat ist eine Unterklasse von Numberformat, seine Instanz wird als bestimmte Region angegeben. Daher können Sie einen Bereich mit numberformat.getInstance angeben und dann die Struktur in ein Decimalformat -Objekt geben. In der Dokumentation wird erwähnt, dass diese Technik in den meisten Fällen angewendet werden kann. Sie müssen jedoch einen Try/Catch -Block verwenden, um die Besetzung zu umgeben, falls die Umwandlung nicht ordnungsgemäß funktioniert (vermutlich in sehr unauffälligen Situationen ein seltsames Gebiet verwendet).
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.