In diesem Artikel werden verschiedene Methoden aufgeführt:
1. Verwenden Sie java.math.BigDecimal
2. Verwenden Sie java.text.DecimalFormat
3. Verwenden Sie java.text.NumberFormat
4. Verwenden Sie java.util.Formatter
5. Verwenden Sie String.format
Am Ende des Artikels habe ich Ihnen mehr Expansionswissen geteilt. Darüber hinaus können Sie es selbst implementieren oder die eingekapselte Klassenbibliothek ausleihen, um sie zu implementieren. Ich werde sie in diesem Artikel nicht einzeln auflisten. Schauen wir uns die detaillierte Einführung unten an.
1. Verwenden Sie BigDecimal und behalten Sie die beiden Dezimalstellen
public static String Format1 (Doppelwert) {BigDecimal bd = new BigDecimal (Wert); bd = bd.setScale (2, RoundingMode.half_Up); return bd.tostring ();}2. Verwenden Sie Decimalformat, um die beiden Dezimalstellen beizubehalten
public static string format2 (Doppelwert) {DecimalFormat df = new DecimalFormat ("0,00"); df.setRoundingMode (RoundingMode.half_Up); Rückgabe df.format (Wert);}3.. Verwenden Sie NumberFormat, um die beiden Dezimalstellen beizubehalten
public static string format3 (Doppelwert) {numberFormat nf = numberFormat.getNumberInstance (); NF.SetMaximumFractionDigits (2); / * * setMinimumFractionDigits zu 2 * * Wenn Sie dies nicht tun, geben Sie dann 100,00 * * * anstelle von 100,00 */ nf.setminimumFractionDigits (2) zurück; NF.SetRoundingMode (RoundingMode.half_Up); / * * Wenn das Format, das Sie ausgeben möchten, durch Kommas getrennt ist, können Sie es auf true einstellen */ nf.setGroupingused (false); Rückgabe nf.format (Wert);}V.
öffentliches statisches String -Format4 (Doppelwert) { / * * % .2f % bedeutet eine Ziffer vor dem Dezimalpunkt 2. Das Ergebnis nach zwei Dezimalformat ist f. Der schwimmende Punkttyp ist */ return New Formatter (). Format ("%. 2f", Wert) .ToString ();}5. Verwenden Sie String.Format, um es zu implementieren.
public static String Format5 (Doppelwert) {return string.format ("%. 2f", value) .toString ();}Erweitertes Wissen
Als Textverarbeitungswerkzeug bietet uns String.format leistungsstarke und reichhaltige String -Formatierungsfunktionen.
Format -schwimmende Punktzahlen
Das Platzhalterformat lautet: %[INDEX $] [Identifikation]*[Mindestbreite] [. Präzision] Konverter
double num = 123,4567899; System.out.print (String.Format (" %f %n", num)); // 123.456790 system.out.print (string.format (" %a %n", num)); // 0x1.edd3c0bb46929p6 System.out.print (string.format (" %g %n", num)); // 123.457Verfügbare IDs:
-In der minimalen Breite links ausgerichtet, kann nicht mit der 0-Marke verwendet werden.
0. Wenn die Inhaltslänge geringer ist als die minimale Breite, füllen Sie sie mit 0 links.
#, fügen Sie eine 0 vor Engh und Hexadezimal hinzu, fügen Sie 0x vor Hexadezimal hinzu.
+ Das Ergebnis enthält immer ein + oder - Zeichen.
Speicherplatz, Platz vor positiven Zahlen hinzufügen und vor negativen Zahlen ein Zeichen hinzufügen.
,, nur mit Dezimalzahl verwendet, getrennt durch alle drei Ziffern.
(Wenn das Ergebnis eine negative Zahl ist, wickeln Sie es in Klammern ein und es werden keine Symbole angezeigt.
Verfügbare Konverter:
B, Boolean Typ, solange der tatsächliche Parameter ein Boolean -Typ ist, der nicht falsch ist, wird er als String -True formatiert, ansonsten ist er eine Zeichenfolge falsch.
N, ein plattformunabhängiges Newline-Charakter, kann auch über System.getProperty ("Line.separator") erhalten werden.
F, schwimmender Punkttyp (Dezimal). Zeigt 9 bedeutende Zahlen an und wird abgerundet. Wie 99,99.
A, schwebende Punktnummertyp (hexadezimal).
e, Exponentieller Typ. Wie 9,38e+5.
G, schwebende Punktzahltyp (kürzer als %F, %A, zeigt 6-stellige gültige Zahlen an und wird abgerundet)
Zusammenfassen
Das obige ist der gesamte Inhalt der mehrfachen Schreibmethoden zweier Dezimalstellen, die in Java aufbewahrt werden. Ich hoffe, dass der Inhalt dieses Artikels für das Studium oder die Arbeit aller sicher sein wird. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen.