Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

94
Vistas
Reduce number with percent

I'm trying to implement a code check:

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

In general I want to make a check and reduce the amount with some very small percent. But I get error for this line * amount);:

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

Do you know how I can fix this issue?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

You should be doing String((2 / 100) * parseFloat(amount));: you forgot to convert it to a number for arithmetic operations. Also, there is no need to use parseFloat(0.01) when you can use 0.01 directly. Your updated code would look like this:

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

  // More code here...
}

Also, if you want convert to string, a simpler way is to use template literals:

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

0

To resolve this, both string results have to be converted to number. This can be achieved by these 3 method:

  1. Unary Operator (+)
  2. parseFloat() //Already you used
  3. Multiply with number

1.Using Unary Operator (+) :

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.Multiply with number :

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

this error most off occurs by too much brackets.you need to try 1 method Unary Operator (+). it help to convert string into number and you don't need to wrap a string value into a brackets.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda