Heim >Backend-Entwicklung >C++ >Wie kann ich Doubles in .NET ohne wissenschaftliche Notation präzise in Strings konvertieren?
Exakte Float-zu-String-Konvertierung mit doppelter Genauigkeit in .NET unter Vermeidung wissenschaftlicher Notation
Das Konvertieren einer Gleitkommazahl mit doppelter Genauigkeit in eine Gleitkomma-String-Darstellung in .NET kann eine Herausforderung darstellen, insbesondere wenn nach einer Lösung gesucht wird, die die wissenschaftliche Notation sowohl für große als auch für kleine Zahlen wirksam unterdrückt.
Eine Möglichkeit besteht darin, eine benutzerdefinierte Formatzeichenfolge zu verwenden, die die gewünschte Genauigkeit nach dem Dezimalpunkt angibt. Um alle möglichen Gleitkommawerte mit doppelter Genauigkeit genau darzustellen, ist eine große Anzahl von Zahlen erforderlich. Eine allgemeine Lösung für diese Anforderung ist:
<code class="language-csharp">doubleValue.ToString("0." + new string('#', 339))</code>
Diese Formatzeichenfolge enthält 339 Pfund-Zeichen („#“) und stellt die maximale Anzahl von Dezimalstellen ungleich Null (15) dar, die um den Exponenten (324 Bit) nach rechts verschoben werden können.
Es ist wichtig zu beachten, dass diese Methode aufgrund der möglichen expliziten Rundung von ToString() eher Präzision als eine verlustfreie Konvertierung bietet. Für eine verlustfreie Roundtrip-Konvertierung sollten Sie die alternative Lösung von @Loathing in Betracht ziehen.
Um die Benutzerfreundlichkeit und Leistung zu verbessern, können Formatzeichenfolgen als Konstanten gespeichert werden:
<code class="language-csharp">public static class FormatStrings { public const string DoubleFixedPoint = "0.###################################################################################################################################################################################################################################################################################################################################################"; }</code>
Mit dieser Technik können Gleitkommazahlen mit doppelter Genauigkeit ohne wissenschaftliche Notation einfach in Zeichenfolgendarstellungen umgewandelt werden, wodurch eine genaue Anzeige großer und kleiner Zahlen in Anwendungen gewährleistet wird.
Das obige ist der detaillierte Inhalt vonWie kann ich Doubles in .NET ohne wissenschaftliche Notation präzise in Strings konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!