String in Float in C # konvertieren
Ich bin der Konvertierung einer Zeichenfolge wie "41.00027357629127", und ich bin mit;
Convert.ToSingle("41.00027357629127");
oder
float.Parse("41.00027357629127");
Diese Methoden geben 4.10002732 E+15.
Wenn ich konvertieren zu schweben ich will "41.00027357629127". Dieser Wert sollte der gleiche sein...
Kommentar zu dem Problem
Wie Sie wissen, was es umgewandelt wird - das ist, wie sind Sie mit der Anzahl
Keine Ahnung warum seine ToSingle? Und nicht ToFloat?
InformationsquelleAutor der Frage Mehmet | 2012-06-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Thread-Gebietsschema festgelegt ist, zu einer, in der das dezimal-mark "," statt ".".
Versuchen Sie es mit dieser:
Beachten Sie jedoch, dass ein float nicht halten kann, dass viele Ziffern für die Genauigkeit. Sie müssten verwenden Sie double oder Decimal zu tun.
InformationsquelleAutor der Antwort Matthew Watson
Erste, es ist nur ein Präsentation der
float
Nummer, die Sie sehen in den debugger. Die real Wert ist in etwa exakt (so viel wie es möglich ist).Hinweis: Verwenden Sie immer CultureInfo Informationen beim Umgang mit Gleitkomma-zahlen versus strings.
Dies ist nur ein Beispiel; wählen Sie eine geeignete Kultur für Ihren Fall.
InformationsquelleAutor der Antwort Tigran
Können Sie
"float asd = (float) Convert.ToDouble("41.00027357629127");
.InformationsquelleAutor der Antwort user4292249
Verwenden
Convert.ToDouble("41.00027357629127");
Konvertieren.ToDouble
- DokumentationInformationsquelleAutor der Antwort Ozgur Dogus
Die Präzision der schweben ist 7-stellig. Wenn Sie möchten, um die ganze Menge, die Sie benötigen, zu verwenden, die Doppel Typ, der hält 15-16 Ziffern. Bezüglich der Formatierung, schau ein post über Formatierung verdoppelt. Und Sie müssen Sorge über das Komma in C#.
InformationsquelleAutor der Antwort jpe
Können Sie
double.Parse("41.00027357629127");
InformationsquelleAutor der Antwort ABH
Können Sie analysieren mit double anstelle von float, um mehr Wert für die Genauigkeit.
InformationsquelleAutor der Antwort Learner