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

158
Visualizações
Muestra el número INR solo si es un número con más de 3 dígitos

DEMOSTRACIÓN JSFiddle: https://jsfiddle.net/bukh7jwL/

Tengo una tabla con texto y números y me enfrento a 2 problemas.

  1. ¡Deshabilita todos los valores de texto y los muestra como ₹NaN!
  2. Me gustaría evitar aplicar el JS si el número tiene menos de 100 como valor o 3 dígitos.

¿Cómo voy a hacer esto?

HTML:

 <center> <p> <table> <tr><td>This is amazing</td></tr> <tr><td>92834</td></tr> <tr><td>33</td></tr> <tr><td>What?</td></tr> </table> </center>

JS:

 $('td').each(function() { var monetary_value = $(this).text(); var i = new Intl.NumberFormat('en-IN', { style: 'currency', currency: 'INR' }).format(monetary_value); $(this).text(i); });
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Agregué la siguiente declaración a su código para verificar si queremos ejecutar NumberFormat .

$.isNumeric(monetary_value) && (monetary_value < 100 || monetary_value.length == 3)

$.isNumeric(monetary_value) comprueba si es un número.

(monetary_value < 100 || monetary_value.length == 3) comprueba si el valor está por debajo de 100 o si la longitud es de 3 caracteres.

 $('td').each(function() { var monetary_value = $(this).text(); if ($.isNumeric(monetary_value) && (monetary_value < 100 || monetary_value.length == 3)) { var i = new Intl.NumberFormat('en-IN', { style: 'currency', currency: 'INR' }).format(monetary_value); } $(this).text(i); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <center> <p> <table> <tr><td>This is amazing</td></tr> <tr><td>92834</td></tr> <tr><td>33</td></tr> <tr><td>What?</td></tr> </table> </center>

about 4 years ago · Juan Pablo Isaza Relatório

0

Primero debe verificar si la cadena es un número o no, luego debe verificar si los dígitos del número son 3 o más. Después de eso, usando toLocaleString() el número se convertirá a la moneda INR

 function isNumeric(n) { return !isNaN(parseFloat(n)) && isFinite(n); } $('td').each(function() { var monetary_value = $(this).text(); if(isNumeric(monetary_value)) { let moneyVal = parseFloat(monetary_value); if( (moneyVal < 100 || moneyVal.toString().length == 3) ){ var i = moneyVal.toLocaleString('en-IN', { maximumFractionDigits: 2, style: 'currency', currency: 'INR' }); $(this).text(i); } } });
 <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <center> <p> <table> <tr><td>This is amazing</td></tr> <tr><td>92834</td></tr> <tr><td>33</td></tr> <tr><td>What?</td></tr> </table> </center>

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