[ Foro de Javascript ]

Consulta

19-Jan-2024 12:45
Invitado (Casittar)
1 Respuestas

Tengo el siguiente código y no sé por qué me da ciclo infinito:
//4. Invertir Número
     let numero = Number(prompt('Ingrese dígito a invertir'));
     
     let invert = 0;
     
     while (numero > 0) {
      let resto = numero%10;
      invert = (invert*10)+resto;
      numero = numero/10;
      }
   console.log(invert);  


20-Jan-2024 12:20
Nacho Cabanes (+84)

Esa lógica sólo funciona si la división no da decimales, con que ocurre con los "int" en lenguajes como C, C# o Java, pero que no funcionará si la división se hace con decimales.

Como alternativa, por ejemplo, puedes quedarte con la parte entera de la división, usando "Math.trunc", así:


let numero = 345;
let invert = 0;
while (numero > 0) {
       let resto = numero%10;
       invert = (invert*10)+resto;
       numero = Math.trunc(numero/10);
}









(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)