Gleitkommazahlen mit präziser Steuerung formatieren
Beim Umgang mit Gleitkommazahlen ist es oft wünschenswert, sie ästhetisch ohne unnötige Dezimalstellen zu formatieren Nullen. Stellen Sie sich die Aufgabe vor, einen Bereich von Werten zu drucken, die als Doppelzahlen und echte Doppelzahlen gespeicherte Ganzzahlen enthalten.
Vermeiden von nachgestellten Nullen mit bestimmten Formatcodes
Während String.format(" %f", value) mag geeignet erscheinen, bei kleinen Werten werden nachgestellte Nullen angehängt. Um die gewünschte Präzision zu erreichen, sollten Sie alternative Formatcodes verwenden:
Benutzerdefinierte Formatierungsfunktion mit Dezimalprüfung
Für eine präzise Steuerung implementieren Sie eine benutzerdefinierte Formatierungsfunktion, die zwischen Ganzzahlen und unterscheidet doubles:
public static String fmt(double d) { if (d == (long) d) return String.format("%d", (long) d); else return String.format("%s", d); }
Diese Funktion prüft, ob der Double-Wert eine Ganzzahl darstellt (wobei die Umwandlung in „long“ erzwungen wird). Wenn dies der Fall ist, formatiert es den Wert als Ganzzahl mit String.format("%d"); Andernfalls wird das Double ohne unnötige Präzision formatiert.
Ausgabebeispiel:
Mit dieser benutzerdefinierten Funktion kann die gewünschte Ausgabe erreicht werden:
232 0.18 1237875192 4.58 0 1.2345
Hinweis zu Überlegungen zum Gebietsschema
Die Zeichenfolgenformatierung ist vom Gebietsschema abhängig. Die genauen Formatierungsergebnisse können je nach regionalen Einstellungen variieren.
Das obige ist der detaillierte Inhalt vonWie kann ich Gleitkommazahlen formatieren, um unnötige nachgestellte Nullen zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!