Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

87
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!