javascript

Invertir número en JavaScript

En este post de programación en JavaScript te enseñaré a invertir o voltear un número.

Que por ejemplo si el número es 123 sea 321 al invertirlo con JS. Con esto también vamos a saber si un número es capicúa.

Invirtiendo número con JavaScript

Hay 2 enfoques para resolver este problema. El primero es el más simple, y es básicamente convertir el número a cadena, invertir la cadena y luego convertirla de vuelta a número.

El segundo método es invertir el número con matemáticas. Te enseñaré ambos por si a tu profesor le gusta hacerte perder el tiempo con algoritmos que no son divertidos.

Invertir número: convirtiendo a cadena

Ya tengo un post que dice cómo invertir una cadena, así que no voy a profundizar mucho. Entonces para voltear un número hacemos lo siguiente:

const invertirNumeroComoCadena = numero => {
    const numeroInvertidoComoCadena = numero.toString().split("").reverse().join("");
    // Si quieres puedes hacer un parseFloat() para regresarlo como número y no como cadena
    return numeroInvertidoComoCadena;
};

Por cierto, eso regresará el número como cadena. La ventaja es que va a conservar los ceros a la izquierda. Si no quieres conservarlos entonces convierte con parseFloat.

JavaScript: invertir número

Ahora veamos el otro enfoque que es el de usar matemáticas. Lo hacemos así:

const invertirNumero = numero => {
    // Nota: como alternativa podría usarse la función que invierte una cadena, convirtiendo el número
    // a cadena, invocando a la función y convirtiendo la cadena a número
    // https://parzibyte.me/blog/2018/11/18/invertir-cadena-palabra-javascript/
    let invertido = 0;
    while (numero != 0) {
        invertido = 10 * invertido + numero % 10
        numero = (Math.floor(numero / 10))
    }
    return invertido
};

Poniendo todo junto

A continuación te muestro cómo usar estos dos métodos con unos ejemplos. Puedes comparar los resultados:

// https://parzibyte.me/blog

const invertirNumero = numero => {
    // Nota: como alternativa podría usarse la función que invierte una cadena, convirtiendo el número
    // a cadena, invocando a la función y convirtiendo la cadena a número
    // https://parzibyte.me/blog/2018/11/18/invertir-cadena-palabra-javascript/
    let invertido = 0;
    while (numero != 0) {
        invertido = 10 * invertido + numero % 10
        numero = (Math.floor(numero / 10))
    }
    return invertido
};
const invertirNumeroComoCadena = numero => {
    const numeroInvertidoComoCadena = numero.toString().split("").reverse().join("");
    // Si quieres puedes hacer un parseFloat() para regresarlo como número y no como cadena
    return numeroInvertidoComoCadena;
};
// Probar
const numeros = [1, 2, 800, 912, 1000, 1283, 2811];
for (const numero of numeros) {
    const invertidoComoNumero = invertirNumero(numero);
    const invertidoComoCadena = invertirNumeroComoCadena(numero);
    console.log("El número '%s' es '%s' invertido como número, y '%s' como cadena", numero, invertidoComoNumero, invertidoComoCadena);
}

Al ejecutarlo, la salida es correcta. Por cierto, esto puede ser ejecutado en Node o dentro del navegador web:

Invertir número con JavaScript – Programación

Por aquí te dejo más sobre JavaScript.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.