2012-06-08 5 views
27

Ich habe einen String wie: "4.874915326E7". Was ist der beste Weg, um es in ein Javascript-Zahlenformat zu konvertieren? (int oder float)? Wenn ich parseInt() versuche, wird das E am Ende ignoriert.Wie konvertiert man eine Zeichenfolge mit wissenschaftlichen Notation, um Javascript-Format zu korrigieren

+0

die in der Regel auf eine [Wissenschaftliche Notation] (http://en.wikipedia.org/wiki/Scientific_notation) (manchmal als Scientific E Notation, aber was auch immer ...) –

+0

geänderte Frage Titel dank bezeichnet ist – Olga

Antwort

42

Übergeben Sie es als Zeichenfolge an die Number-Funktion.

Number("4.874915326E7") //returns 48749153.26 
+0

perfekt, danke! – Olga

+0

@ Olga froh zu helfen :) –

+4

Mine funktioniert nicht. 'Nummer (" 1.7976931348623157e308 ")' –

8

so etwas wie dieses

Demo

Number("4.874915326E7").toPrecision() 
+3

'.toPrecision()' wird hier nicht benötigt und fügt wissenschaftliche Notation hinzu, wenn die Genauigkeit niedriger als die angegebene Zeichenfolge ist. –

+0

Funktioniert nicht für E49. – momomo

4

Versuchen Sie auch + Zeichen vor der Zeichenfolge eine Zahl zu erhalten, verwenden können.

+"4.874915326E7" // == 48749153.26 
+2

Funktioniert auch für Variablen, auch in Strings: 'x =" 1e3 "; ":" + (+ x) 'gibt": 1000 ". –

Verwandte Themen