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/posts/invertir-cadena-palabra-javascript/](https://parzibyte.me/blog/posts/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/posts/invertir-cadena-palabra-javascript/](https://parzibyte.me/blog/posts/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.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto