¿Hay alguna forma de truncar los números de notación científica en JavaScript?
-
27-10-2019 - |
Pregunta
Como todos saben, ya que es uno de los temas más solicitados, así que tengo problemas con los errores de redondeo (en realidad no son errores, soy muy consciente). En lugar de explicar mi punto, daré un ejemplo de qué posibles números tengo y qué entrada quiero poder obtener:
Digamos
var a = 15 * 1e-9;
alert(a)
salidas
1.5000000000000002e-8
Quiero poder obtener 1.5e-8
En cambio, pero no puedo simplemente multiplicarme por 10E8, redondear y dividir por 10E8 porque no sé si será E-8 o E-45 o cualquier otra cosa.
Así que básicamente quiero poder obtener el 1.5000002
parte, aplicar toFixed(3)
y devuelva la parte del exponente.
Podría convertir en una cadena y analizar, pero simplemente no parece correcto ...
Alguna idea ?
(Pido disculpas de antemano si cree que este es uno de los muchos duplicados, pero no pude encontrar una pregunta similar, solo las relacionadas)
gaélico
Solución
Puedes usar el toPrecision
método:
var a = 15 * 1e-9;
a.toPrecision(2); // "1.5e-8"
Otros consejos
Si está haciendo trabajo científico y necesita redondear con cifras significativas en mente: Redondeo a un número arbitrario de dígitos significativos