Laden...

Float toString im Format "100000E+30" statt "1E+35"

Erstellt von jogibear9988 vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.738 Views
J
jogibear9988 Themenstarter:in
641 Beiträge seit 2007
vor 11 Jahren
Float toString im Format "100000E+30" statt "1E+35"

Ich habe einen Float Wert "1E+35" gibt mir ToString für den Wert aus. Nun möchte Ich den Wert aber gleich wie ein anderes Programm als "100000E+30" darstellen?? Ich hab in der MSDN nichts gefunden wie Ich das mit einem FormatString bewerkstelligen könnte...

cSharp Projekte : https://github.com/jogibear9988

C
2.121 Beiträge seit 2010
vor 11 Jahren

Selber machen?
Wie sieht die Regel aus, nach der du das so formatieren willst?

49.485 Beiträge seit 2005
vor 11 Jahren

Hallo jogibear9988,

bist du dir sicher, dass "100000E+30" und nicht "100E+33" gemeint ist? Das wäre dann die Technische Notation, bei der die Exponenten Vielfache von 3 sind und die Mantisse immer 1 bis 3 Stellen hat (siehe auch Wissenschaftliche Notation).

Oder sind deine Exponenten immer Vielfache von 6? Oder soll die Mantisse immer sechs Stellen haben? Wie ist dein Format definiert?

Allerdings gibt es in .NET meines Wissens nicht mal ein Formatzeichen für die technische Notation gibt. Eigentlich verwunderlich. Ich hoffe, ich habe nichts übersehen.

Es ist also wohl wirklich Selbermachen angesagt.

Siehe auch Engineering notation in C#?

herbivore

M
1.439 Beiträge seit 2005
vor 11 Jahren

Du kannst per Format-String bestimmen, wie die Ausgabe aussehen soll.
Mit

Console.WriteLine("{0:000.0E+000}", 3.14159265);

bekommst du

314,2E-002

als Ausgabe.

Grüße,
Georg