2012-06-08 12 views
27

Mam ciąg, np .: "4.874915326E7". Jaki jest najlepszy sposób przekonwertowania go na format liczb javascript? (int lub float)? jeśli spróbuję parseInt(), E na końcu jest ignorowane.Jak przekonwertować ciąg zawierający Notację naukową, aby poprawić numer w formacie JavaScript

+0

To jest zwykle określane w notacji naukowej [] (http://en.wikipedia.org/wiki/Scientific_notation) (czasami jako Naukowego E Notation, ale co tam ...) –

+0

zmieniony tytułowe pytanie, dzięki – Olga

Odpowiedz

42

Przekaż go jako ciąg do funkcji Numer.

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

Perfekcyjnie, dziękuję! – Olga

+0

@Olga zadowolona z pomocy :) –

+4

Mój nie działa. 'Number (" 1.7976931348623157e308 ")' –

8

Spróbuj coś jak ten

Demo

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

'.toPrecision()' nie jest tu potrzebne i dodaje notację naukową, jeśli dokładność jest mniejsza niż podany łańcuch. –

+0

Nie działa dla E49 w intencji. – momomo

4

Można również użyć + znak przed swoim ciągiem, aby uzyskać numer.

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

Działa również dla zmiennych, nawet w łańcuchach: 'x =" 1e3 "; ":" + (+ x) "daje": 1000 ". –