In C# ist es möglich, ToString auf einem Float durchzuführen und den Wert ohne Verwendung von Exponentials erhalten?Wie erhalten Sie Floats-Wert ohne Exponentialschreibweise
Betrachten wir zum Beispiel die folgenden:
float dummy;
dummy = 0.000006F;
Console.WriteLine(dummy.ToString());
Dies gibt dem Ausgang
6E-06
Was ich jedoch ist war
0.000006
Der nächstgelegene ich das wurde mit finden konnten, "F" Qualifier, aber ich muss dann die Anzahl der Dezimalstellen angeben, ansonsten wird der Wert gerundet.
Gibt es tatsächlich eine Möglichkeit, dies automatisch zu tun, oder muss ich eine Menge funky Logik tun, um entweder Nullen zu trimmen oder die Anzahl der benötigten Dezimalzahlen herauszufinden.
Danke;
Richard Moss
Ja, wie gesagt habe ich das schon probiert. Allerdings muss ich die Anzahl der Dezimalstellen angeben, die ich nicht unbedingt kennen muss (es sei denn, es gibt noch etwas, was mir fehlt;)) - Ich bin etwas überrascht, dass ich das außer mit der E-Notation nicht zu tun scheint was meine Benutzer nicht wollen. –
Oh, Entschuldigung, ich musste genauer lesen. Wenn Sie also die Gleitkommazahl anzeigen möchten, sollten Sie die maximale Dezimalgenauigkeit deklarieren. Übrigens bietet Float-Typ keine hohe Genauigkeit (~ 10^(- 39)) und Sie können einfach die ausreichend große Anzahl an Dezimalstellen wählen –
Ich hatte das auch versucht, also F10, aber den "Nebeneffekt "war, dass die Nullen nach dem 6.Ich hatte gehofft, das zu vermeiden, aber wenn es der einzige Weg ist, den ich von den Extrazullos abstreifen kann, nehme ich an. Es scheint nur so ... klobig! –