Heim >Java >javaLernprogramm >Wie können wir Gleitkommazahlen präzise formatieren, um unnötige Nullen zu vermeiden?

Wie können wir Gleitkommazahlen präzise formatieren, um unnötige Nullen zu vermeiden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-22 13:04:55345Durchsuche

How Can We Precisely Format Floating-Point Numbers to Eliminate Unnecessary Zeros?

Präzise Formatierung von Gleitkommazahlen: Eliminierung unnötiger Nullen

Bei der Darstellung numerischer Daten kann es schwierig sein, Präzision und Lesbarkeit in Einklang zu bringen, insbesondere beim Umgang mit Gleitkommazahlen. Punktzahlen. Das Problem tritt beim Drucken dieser Zahlen auf, was häufig zu nachgestellten Nullen oder unnötigen Dezimalstellen führt.

Problem:

Erwägen Sie die Verwendung von Doppeltypen zur Darstellung aller numerischen Werte, einschließlich ganze Zahlen. Das Drucken dieser Pseudo-Ganzzahlen als Doubles führt jedoch zu dem Problem, dass bei kleinen Werten Nullen nachgestellt werden.

Gewünschte Ausgabe:

Das Ziel besteht darin, Doubles sauber zu drucken Format, das nachgestellte Nullen für ganzzahlige Werte unterdrückt und gleichzeitig die Genauigkeit für tatsächliche Werte beibehält doubles.

Lösung:

Um diese Situation effektiv zu bewältigen, kann eine benutzerdefinierte Formatierungsfunktion implementiert werden, die die Tatsache nutzt, dass double ganze Zahlen bis zu 2 präzise darstellen kann53. Die Funktion mit dem Namen fmt(double d) funktioniert wie folgt:

if (d == (long) d) {
    return String.format("%d", (long) d);
} else {
    return String.format("%s", d);
}

Dies ermöglicht das Drucken von Pseudo-Ganzzahlen als Ganzzahlen unter Verwendung des Formatbezeichners %d, während tatsächliche Doppelzahlen ihre Genauigkeit unter Verwendung von %s behalten Bezeichner.

Beispielausgabe:

Die benutzerdefinierte Formatierungsfunktion erzeugt Folgendes Ausgabe:

232
0.18
1237875192
4.58
0
1.2345

Leistungsoptimierung:

Durch die Vermeidung von Zeichenfolgenmanipulation gewährleistet die fmt-Funktion eine effiziente Leistung. Im Gegensatz dazu würden Lösungen, die auf dem Abschneiden von Nullen basieren, aufgrund von String-Operationen zu erheblichen Leistungseinbußen führen.

Das obige ist der detaillierte Inhalt vonWie können wir Gleitkommazahlen präzise formatieren, um unnötige Nullen zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn