viceversa reglas que operaciones online números numeros notación notacion ejercicios ejemplos decimales convertir con científica cientifica calculadora javascript html5 math scientific-notation

javascript - reglas - ¿Cómo puedo convertir números en notación científica?



operaciones con notacion cientifica (3)

En algún momento quise usar el coeficiente y el exponente como números.

Si desea hacerlo, puede usar la función toExponential , dividir la cadena y convertir los elementos de la matriz en números.

En el siguiente fragmento, asigno los números al objeto numInSciNot y los numInSciNot en el formato deseado.

const num = 200; const numInSciNot = {}; [numInSciNot.coefficient, numInSciNot.exponent] = num.toExponential().split(''e'').map(item => Number(item)); console.log(`${numInSciNot.coefficient} x 10^${numInSciNot.exponent}`);

Si no quiere usarlos como números, solo puede usar replace :

const num = 200; console.log(num.toExponential().replace(/e/+?/, '' x 10^''));

En este fragmento he usado RegExp para reemplazar e o e+ (en el caso de exponente positivo).

Si desea especificar el número de dígitos después del punto decimal, puede usar a toExponential(NumberOfDigits) en los ejemplos anteriores.

Quiero hacer una función que tome un valor ingresado y lo convierta a notación científica (N x 10 ^ a)

He intentado muchas cosas diferentes, pero parece que no puedo hacerlo bien.

Ejemplo:

Entro en 200. El convertidor lo convierte a 2 x 10 ^ 2



Si quieres un formato base 10 como este:

m x 10 n

Entonces puedes usar una función 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<sup>'' + n.toString() + ''</sup>''; }

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

Lo único extraño es que el método toFixed (al menos en Chrome) no redondea las mitades exactas hacia arriba, sino hacia abajo. Por ejemplo, si ejecuta este código:

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

Se imprimirá ''2.5'' y no ''2.6'' como usted espera. Sin embargo si ejecuta este código:

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

Se imprimirá 3. Así que sé consciente de eso.