Invertir número con JavaScript - Programación

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
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.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *