vermeiden wissenschaftliche Notation beim Konvertieren von Doppel in .NET
. Netzentwickler stoßen häufig vor Herausforderungen, wenn sie double
Werte in Zeichenfolgen konvertieren, insbesondere bei der Vermeidung des wissenschaftlichen Notationsformats. Dieser Artikel enthält eine robuste und effiziente Lösung.
beibehalten dezimaler Präzision
um eine breite Palette von double
Werten, einschließlich sehr großer oder sehr kleiner Zahlen, genau darzustellen, es ist entscheidend, eine ausreichende Dezimalpräzision beizubehalten. Da double
Werte im Bereich von -308 bis 308 Exponenten haben können, die den Dezimalpunkt um bis zu 15 Stellen verlagern, müssen wir eine bedeutende Anzahl von Dezimalstellen aufnehmen.
Ein benutzerdefiniertes Zahlenformat String
Der folgende benutzerdefinierte Format -Zeichenfolge erreicht die gewünschte Formatierung und bewahrt bis zu 339 Dezimalstellen:
doubleFixedPoint = "0." new string('#', 339);
Effizienz und Usability
Dieser Ansatz ist sehr effizient, da die Formatierung und die String -Manipulation durch den optimierten nicht verwalteten CLR -Code behandelt werden. Betrachten Sie für eine verbesserte Benutzerfreundlichkeit die Formatzeichenfolge als Konstante:
public static class FormatStrings
{
public const string DoubleFixedPoint = "0.###################################################################################################################################################################################################################################################################################################################################################";
}
Wichtiger Hinweis: Nicht wirklich verlustfrei
Während diese Methode die Anzeigerundung des "R" -Format -Spezifizierers effektiv nachahmt, ist sie keine perfekt verlustlose Konvertierung. Wenn Round-Triping (Konvertieren in eine Zeichenfolge und zurück zu einem double
ohne Datenverlust) von größter Bedeutung ist, sollten Sie alternative Ansätze, wie z. B. diejenigen, die das "R" -Format verwenden, für eine genauere Lösung betrachten.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3