2016-10-03 5 views
3

Ich habe Wert double value = 1427799000;Double-Wert auf wissenschaftliche Schreibweise mit festen Exponenten C#

Ich mag würde es wissenschaftliche Schreibweise, wo die Werte Exponenten konvertieren muss immer 10^11 (E + 11).

Ich habe folgendes versucht, aber es funktioniert nicht.

Console.WriteLine(value.ToString("00.##E+11", CultureInfo.InvariantCulture)); 

Ausgang sollte sein: 0.14 x 10^11 or 0.14E+11

Wie alle doppelten Wert auf wissenschaftliche Notation mit festen Exponenten konvertieren? Hier festen Exponent 11.

+0

Mögliche Duplikat http://stackoverflow.com/questions/7011236/format-c-sharp-double-to-scientfic-notation-in-powers-with-multiples-of-three – Cine

Antwort

2
double value = 1427799000; 
Console.WriteLine(value.ToString("G2", CultureInfo.InvariantCulture)); 

//output: 1.4E+09 

The General ("G") Format Specifier

den allgemeinen („G“) Formatbezeich wandelt eine Nummer der kompakte entweder Festkomma oder wissenschaftliche Notation, abhängig von der Art der Nummer und ob ein Präzisionsspezifizierer vorhanden ist.

EDIT: über Ihren Kommentar Sie nicht die wissenschaftliche Schreibweise in Ihrem Wunsch Weise angezeigt werden kann, ist es nicht so definiert! Die koeficient muss größer oder gleich 1 und kleiner bis 10.

Für Nummer 1,23 * 10^11 ->Article source

Die erste Zahl 1,23 wird der Koeffizient genannt. Sie muss größer oder gleich 1 und kleiner als 10 sein.

Die zweite Nummer wird als Basis bezeichnet. Es muss immer 10 in wissenschaftliche Notation sein. Die Basisnummer 10 wird immer in den Exponenten geschrieben. In der Zahl 1.23 x 10^11 wird die Zahl 11 als Exponent oder Zehnerpotenz bezeichnet.

+0

Dank aber ich brauche die Ausgabe zum festen Exponenten. Hier ist der Exponent 9, ich will ihn fixieren 11. Die Ausgabe sollte '0.14E + 11' sein Wie geht das? – John

+2

@John Ihre Art der Darstellung ist nicht korrekt und nicht per definitionem. – mybirthname

+0

Danke für die Artikelquelle. Ich recherchierte weiter und fand heraus, dass meine Darstellung von 1427799000 '0.14E + 11' nicht korrekt ist. Es sollte '1.43E + 09' oder' 1.43 x 10^9' sein. – John

Verwandte Themen