Ich habe einen Float von ungefähr 27 signifikanten Zahlen, wenn ich "ToString ()" rufe, bekomme ich "6.8248054E + 26", wie bekomme ich den genauen normalen Wert?
Das Problem besteht nicht darin, welches Format Sie verwenden. Es liegt vielmehr in der Präzision des Datentyps.
Von MSDN:
float
hat eine Genauigkeit von 7 Ziffern. decimal
hat dagegen eine Genauigkeit von 28-29 Stellen.
Wenn Sie Ihren Wert einer Variablen vom Typ decimal
zuweisen, erhalten Sie, selbst wenn Sie die Methode ToString()
ohne Stringformate aufrufen, das, was Sie wollen.
Mit Floats werden Sie nicht in der Lage sein, diese Präzision zu erreichen.
Wie auch immer, Sie sollten den Formatierer "F" oder "N" verwenden, diese werden die Nummer wie gewünscht ausdrucken.
Sie können alle Formatierungen hier überprüfen: Standard-Zahlenformatzeichenfolgen
Tags und Links c#