Como posso converter números em notação científica?

Eu quero fazer uma function que leva um valor inserido e converte-lo para notação científica (N x 10 ^ a)

Eu tentei muitas coisas diferentes, mas não consigo acertar.

Exemplo:

Eu entro 200. O conversor converte para 2 x 10 ^ 2

Você pode fazer algo assim:

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

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

Se você quer um formato de base 10 como este:

m x 10 n

Então você pode usar uma function como esta:

 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() + ''; } 

Teste: http://jsfiddle.net/u1hd4zm9/

A única coisa estranha é que o método toFixed (no Chrome, pelo menos) não irá arredondar as metades exatas para cima, mas para baixo. Por exemplo, se você executar este código:

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

Ele irá imprimir ‘2.5’ e não ‘2.6’ como você espera. No entanto, se você executar este código:

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

Ele irá imprimir 3. Portanto, esteja ciente disso.

Intereting Posts