myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Basistechnologien und allgemeine .NET-Klassen » Float toString im Format "100000E+30" statt "1E+35"
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

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

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
jogibear9988 jogibear9988 ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.07.2007
Beiträge: 563
Entwicklungsumgebung: VS 2010 RC
Herkunft: Offenau


jogibear9988 ist offline

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

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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...

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von jogibear9988 am 27.06.2012 22:55.

27.06.2012 22:54 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
chilic
myCSharp.de-Poweruser/ Experte

Dabei seit: 12.02.2010
Beiträge: 2.043


chilic ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Selber machen?
Wie sieht die Regel aus, nach der du das so formatieren willst?
28.06.2012 06:33 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
herbivore
myCSharp.de-Poweruser/ Experte

avatar-2627.gif


Dabei seit: 11.01.2005
Beiträge: 49.479
Entwicklungsumgebung: csc/nmake (nothing is faster)
Herkunft: Berlin


herbivore ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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
28.06.2012 08:34 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
marsgk marsgk ist männlich
myCSharp.de-Mitglied

Dabei seit: 04.06.2005
Beiträge: 1.439
Entwicklungsumgebung: Notepad++ + csc + nmake
Herkunft: Linz, Austria


marsgk ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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

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

bekommst du

Code:
1:
314,2E-002

als Ausgabe.

Grüße,
Georg
28.06.2012 12:58 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 8 Jahre.
Der letzte Beitrag ist älter als 8 Jahre.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 30.09.2020 21:06