Come posso convertire i numeri in notazione scientifica?

Voglio fare una funzione che prende un valore inserito e lo converte in notazione scientifica (N x 10 ^ a)

Ho provato molte cose diverse, ma non riesco a farlo bene.

Esempio:

Inserisco 200. Il convertitore lo converte in 2 x 10 ^ 2

Puoi fare qualcosa del genere:

a = 200 a.toExponential(); //output 2e+2 

fiddle: http://jsfiddle.net/Q8avJ/9/

Se vuoi un formato base 10 come questo:

m x 10 n

Quindi puoi usare una funzione come questa:

 function writeScientificNum(p_num, p_precision) { var n = Math.round(Math.log10(a)); var m = (p_num * (Math.pow(10,Math.abs(n)))).toFixed(p_precision); document.getElementById("outputTxt").innerHTML = m.toString() + ' x 10' + n.toString() + ''; } 

Provalo : http://jsfiddle.net/u1hd4zm9/

L’unica cosa strana è che il metodo toFixed (in Chrome almeno) non arrotonderà le metà esatte, ma verso il basso. Ad esempio se esegui questo codice:

 var test = 2.55; alert(test.toFixed(1)); 

Stamperà ‘2.5’ e non ‘2.6’ come ti aspetti. Tuttavia se si esegue questo codice:

 var test = 2.5; alert(test.toFixed(0)); 

Stamperà 3. Quindi sii consapevole di ciò.