FreeToGenerate.com

Convierte entre notación científica, de ingeniería y el número escrito entero trabajando sobre los dígitos, y te enseña dónde habría redondeado tu navegador. No se sube nada.

Prueba con:
Científica
6.02214076e+23
De ingeniería
602.214076e+21
Escrito entero
602214076000000000000000
Potencia de diez
23
Prefijo del SI
zetta
Lo que imprime JavaScript
6.02214076e+23

La respuesta de tu propio navegador

JavaScript ha pasado a notación exponencial por su cuenta. Eso ocurre a partir de 1e21 y por debajo de 1e-6, y lo fija el lenguaje, no esta página.

Las conversiones se hacen sobre los dígitos y no sobre un número de coma flotante, así que un valor de cincuenta dígitos conserva los cincuenta. Los umbrales que se citan de JavaScript vienen de la sección 6.1.6.1.20 del ECMA-262 y se comprueban contra el propio lenguaje.

También disponible en: English · Português · Français · العربية

Conversor de notación científica

Las formas científica, de ingeniería y entera del mismo número, calculadas exactas, y los umbrales en los que JavaScript cambia de formato por su cuenta.

¿Qué es la notación científica?

La notación científica escribe un número como una sola cifra, una parte decimal y una potencia de diez: 6,02214076e23 en lugar de un 6 seguido de veintitrés cifras más. La mantisa siempre vale al menos 1 y menos de 10, y eso hace que comparar dos números sea inmediato: el exponente te da la escala de un vistazo y la mantisa el valor dentro de ella.

La notación de ingeniería es la misma idea con una regla extra: el exponente tiene que ser múltiplo de tres. No es un adorno, es lo que la alinea con los prefijos del SI, así que 12345 es 12,345e+3 —doce kilo-algo y pico— y no 1,2345e+4, que no corresponde a ningún prefijo. Esta página enseña las dos, junto con el nombre del prefijo cuando existe.

La tercera forma es sencillamente escribir el número entero. Es la que se usa cuando el valor hay que leerlo y no calcular con él, y es donde los conversores fallan sin decirlo, porque casi todos le pasan el número al lenguaje en el que están escritos e imprimen lo que salga.

Cómo usarlo

  1. Escribe un número en cualquiera de las tres formas. Entero, con una e o con coma decimal: se leen todas. Los cuatro botones de ejemplo cubren un número enorme, uno diminuto, el punto exacto en el que JavaScript cambia de formato y otro con más dígitos de los que cabe guardar.
  2. Lee las tres conversiones. Científica, de ingeniería y entera, cada una con su botón de copiar, más la potencia de diez y el prefijo del SI que le corresponde.
  3. Compara la última fila con las tres primeras. Esa fila es lo que el propio Number de tu navegador imprimiría con la misma entrada. Donde no coincida, el párrafo de debajo explica por qué.

Dónde cambia JavaScript de formato por su cuenta

Cualquier conversor que funcione en un navegador y le pase su entrada a un Number hereda un comportamiento escrito en el propio lenguaje. El ECMA-262 define cómo un número se convierte en cadena, y cambia a notación exponencial en dos puntos fijos: a partir de 1e21 y por debajo de 1e-6. Así que cien mil trillones se imprime entero como 100000000000000000000, y diez veces esa cantidad se imprime como 1e+21. Del número no ha cambiado nada: ha cambiado el formato, porque lo dice la especificación.

El mismo techo afecta a toFixed, que es lo que casi todo el código usa para formatear dinero. Pídele dos decimales sobre 1e21 y te devuelve la cadena 1e+21, decimales incluidos, porque la especificación le dice que se rinda por encima de ese punto. Un total que crece más allá de un trillón deja de ser un total y pasa a ser un trozo de notación científica en mitad de una factura.

En el extremo pequeño pasa lo mismo al revés: 0,000001 se imprime entero y 0,0000001 se imprime como 1e-7. Los dos umbrales se comprueban aquí contra el propio lenguaje, en todas las potencias de diez de -30 a 30, así que las cifras de esta página están medidas y no recordadas.

Esta página se salta todo eso convirtiendo los dígitos directamente en lugar de pasar por un número de coma flotante, y por eso un valor de cincuenta dígitos conserva los cincuenta. La última fila sigue enseñando lo que habría dicho tu navegador, porque es lo que hará el resto de tus herramientas con esa misma entrada.

Límites honestos

La conversión es exacta, pero no es aritmética de precisión arbitraria. No se suma, ni se multiplica, ni se redondea: los dígitos que escribes se recolocan alrededor de una coma y se les pone un exponente, que es todo lo que un cambio de notación es. Si necesitas calcular con números larguísimos, eso es otra herramienta.

Los ceros finales de la mantisa se quitan, así que 1200 pasa a ser 1,2e+3 y no 1,200e+3. Es una decisión real y tiene un coste: en ciencias esos ceros significan algo, porque 1,200e+3 declara cuatro cifras significativas y 1,2e+3 declara dos. Si lo que sigues es la precisión, la calculadora de cifras significativas de este sitio es la página que los conserva.

La tabla de prefijos del SI va de quecto a quetta, el rango que ha adoptado la Conferencia General de Pesas y Medidas, con los cuatro más nuevos añadidos en 2022. Más allá, la herramienta dice que no existe prefijo en vez de inventarse uno, y un número en la unidad base lo dice explícitamente: no llevar prefijo no es lo mismo que no haberlo.

El aviso de pérdida de dígitos compara los dígitos que tu navegador imprime de vuelta con los que escribiste, y no un número de coma flotante con otro. Comparar dos doubles no diría nada, porque un valor que perdió precisión se convierte en el mismo double de todos modos. Eso significa que un número como 0,1, que ningún double guarda exacto, no sale señalado: se imprime de vuelta como 0,1, y eso lo puede comprobar cualquiera.

¿Por qué es gratis?

La conversión es aritmética sobre cadenas que se ejecuta en tu navegador. No hay servidor, así que no hay nada que cobrar ni cuenta que crear.

No se sube nada y no se guarda nada. Recarga la página y habrá olvidado el número.