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

95
Visualizações
Reducir número con porcentaje

Estoy tratando de implementar una verificación de código:

 const transfer = async ( amount: string ): Promise<void> => { if (parseFloat(amount) <= parseFloat('0.01')) { amount = String((2 / 100) * amount); } ....... }

En general, quiero hacer un cheque y reducir la cantidad con un porcentaje muy pequeño. Pero recibo un error para esta línea * amount); :

 TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.

¿Sabes cómo puedo solucionar este problema?

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

0

Deberías estar haciendo String((2 / 100) * parseFloat(amount)); : olvidaste convertirlo a un número para operaciones aritméticas. Además, no es necesario usar parseFloat(0.01) cuando puede usar 0.01 directamente. Su código actualizado se vería así:

 const transfer = async ( amount: string ): Promise<void> => { if (parseFloat(amount) <= 0.01) { amount = String((2 / 100) * parseFloat(amount)); } // More code here... }

Además, si desea convertir a cadena, una forma más sencilla es usar literales de plantilla:

 if (parseFloat(amount) <= 0.01) { amount = `2 / 100 * ${parseFloat(amount)}`; }
about 4 years ago · Juan Pablo Isaza Relatório

0

Para resolver esto, ambos resultados de cadena deben convertirse a número. Esto se puede lograr mediante estos 3 métodos:

  1. Operador unario (+)
  2. parseFloat() //Ya usaste
  3. Multiplicar con número

1. Usando el operador unario (+):

 const transfer = async ( amount: string ): Promise<void> => { if (+amount <= 0.01) { amount = String(+(2 / 100) * +amount); } // More code here... }

2.parseFloat() :

 const transfer = async ( amount: string ): Promise<void> => { if (parseFloat(amount) <= 0.01) { amount = String((2 / 100) * parseFloat(amount)); } // More code here... }

3.Multiplicar con el número:

 const transfer = async ( amount: string ): Promise<void> => { if ((amount*1) <= 0.01) { amount = String((2 / 100) * (amount*1)); } // More code here... }

la mayoría de este error ocurre por demasiados corchetes. Debe probar 1 método Unary Operator (+) . ayuda a convertir una cadena en un número y no necesita envolver un valor de cadena entre corchetes.

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