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 cadenareturn 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/blogconst 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 cadenareturn numeroInvertidoComoCadena;};// Probarconst 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:
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.
Ya vimos cómo invertir una cadena o palabra en C y en Arduino. Ahora vamos a ver cómo rotar una cadena en JavaScript utilizando dos maneras o funciones. Las cadenas en JavaScript son inmutables y no son parecidas a las de C. Es decir, en C son arreglos de caracteres pero…
En este post se explica cuál es la función de la palabra reservada prototype en el lenguaje de programación JavaScript. También se describe cuándo es recomendable su uso, ventajas, desventajas y ejemplos del mismo. Prototype en JavaScript Es una propiedad que tienen todos los objetos de JavaScript, el cual representa…
En este post de programación en Python te mostraré cómo invertir un número entero (por ejemplo, convertir 123 a 321) pero sin usar funciones de cadena ni convertir a cadena. Básicamente vamos a hacer todo esto con matemáticas, trabajando a los números como lo que son, y no como cadenas.…