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

228
Visualizações
¿Por qué esta salida no es del 100%?

Estoy tratando de hacer una barra de progreso, pero estoy tratando de calcular el porcentaje. Tengo dos cuadros de texto Asegúrate de poner el número más grande en el segundo y calculará el porcentaje dividiendo

 $("#btn").click(function () { var num1 = $("#textbox1").val(); var num2 = $("#textbox2").val(); var perectageTotal = (num1 / num2) * 100; let totalString = perectageTotal.toString().length; if (totalString > 2) { var result = perectageTotal.toString().slice(0, 2); } else if ((totalString = 1)) { var result = "100"; } else { var result = perectageTotal.toString().slice(0, 4); } console.log(parseInt(result)); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="textbox1" id="textbox1" placeholder="Enter Number 1" /> <input type="textbox2" id="textbox2" placeholder="Enter Number 2" /> <input type="button" value="Click Me" id="btn" />

ellos, funciona, pero dividir el mismo número para obtener el 100% no funciona, solo da como resultado 10. ¿Por qué?

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

0

dividir el mismo número para obtener el 100% no funciona, solo sale 10. ¿Por qué?

Está cortando el final aquí: var result = perectageTotal.toString().slice(0, 2);

Puede reemplazar ese 2 con un 4 para obtener el resultado esperado.

 $("#btn").click(function() { var num1 = $("#textbox1").val(); var num2 = $("#textbox2").val(); var perectageTotal = (num1 / num2) * 100; let totalString = perectageTotal.toString().length; if (totalString > 2) { var result = perectageTotal.toString().slice(0, 4); } else if ((totalString = 1)) { var result = "100"; } else { var result = perectageTotal.toString().slice(0, 4); } console.log(parseInt(result)); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="textbox1" id="textbox1" placeholder="Enter Number 1" /> <input type="textbox2" id="textbox2" placeholder="Enter Number 2" /> <input type="button" value="Click Me" id="btn" />

El bloque de lógica al final parece no hacer nada. Además , no use más var y extraiga su código en una función para que pueda explicar lo que hace.

Puede Math.floor , Math.ceil o Math.round para redondear siempre hacia abajo al entero más cercano, siempre hacia arriba al entero más cercano o para redondear al entero más cercano respectivamente.

 function divisionToPercentageString(numerator, denominator) { return Math.round(numerator / denominator * 100).toString() + '%'; } $("#btn").click(function() { const num1 = $("#textbox1").val(); const num2 = $("#textbox2").val(); const result = divisionToPercentageString(num1, num2); console.log(result); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="textbox1" id="textbox1" placeholder="Enter Number 1" /> <br /> <input type="textbox2" id="textbox2" placeholder="Enter Number 2" /> <br /> <input type="button" value="Click Me" id="btn" />

about 4 years ago · Juan Pablo Isaza Relatório

0

En tu primera declaración if

if (totalString > 2) { var result = perectageTotal.toString().slice(0, 2); }

'100' tiene una longitud de 3 y, por lo tanto, entrará en esta categoría y solo tomará los primeros 2 caracteres.

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