Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

168
Visualizações
tratando de convertir números decimales a números romanos con for en javascript

No sé si puedo preguntar o no, pero las respuestas que aparecen aquí no me ayudan. Estoy tratando de convertir números decimales a números romanos en javascript. Estoy dividiendo los números en dígitos y viendo los diferentes casos. Hasta ahora, estoy en caso de 2 dígitos. El problema es que cuando intento leer la parte de las "decenas" me dice que el número que busco no existe en el objeto, y eso no es correcto. ¿Puedes ayudarme a averiguar por qué? Cuando paso 12, solo devuelve la parte unitaria.

 function convertToRoman(num) { let nums = num.toString(); let roman = ''; //here I'll keep the results let numbers = { '1': 'I', '2': 'II', '3': 'III', '4': 'IV', '5': 'V', '6': 'VI', '7': 'VII', '8': 'VIII', '9': 'IX', '10': 'X' }; let unidad = nums[1]; //here I keep the units part let decena =nums[0]*10; //here the tens part console.log("nums Length:",nums.length); //If the number has 1 digit: if (nums.length === 1){ for (let n in numbers){ if (n === nums){ roman = numbers[n]; } } } //If the number has 2 digits: if (nums.length === 2){ for ( let n in numbers){ if(n === decena){ roman += numbers[n]; } } for ( let n in numbers){ if(n === unidad){ roman += numbers[n]; } } } console.log("decena:", decena, "unidad:", unidad, "En romano:", roman); return roman } convertToRoman(12);

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Use este código para convertir -

 function convertToRoman(num) { let map = { 1000 : "M", 900 : "CM", 500 : "D", 400 : "CD", 100 : "C", 90: "XC", 50: "L", 40: "XL", 10: "X", 9: "IX", 5: "V", 4: "IV", 1: "I" } let roman = ""; let romankeys = Object.keys(map).reverse(); romankeys.forEach((keys) => { while(keys <= num) { roman += map[keys]; num -= keys; } }); return roman; } console.log(convertToRoman(58));

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda