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

317
Views
JavaScript/reactJS: redondea el último decimal (sin decimal codificado para calcular)

Al usar JavaScript para calcular, por ejemplo (en vivo puede ser cualquier valor)

 1000/0.997 = 1003.0090270812437

Usando la calculadora de PC para calcular

 1000/0.997 = 1003.009027081244 // auto round up last decimal

ingrese la descripción de la imagen aquí

Pero si !!! esto es correcto y lo mismo que la ventana, en esta situación no es necesario redondear

 500/0.997 = 501.5045135406219 // this is correct and same as window calculator

ingrese la descripción de la imagen aquí

Mi salida preferida es el valor de redondeo automático 1003.009027081244

Pregunta: En JavaScript, ¿cómo redondear el último dígito decimal?

Lo que he probado:

 Math.round(1003.0090270812437) // 1003
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Opción 1: jugar con números y decimales

 const countDecimals = value => { let text = value.toString() if (text.indexOf('e-') > -1) { let [base, trail] = text.split('e-') let deg = parseInt(trail, 10) return deg - 1 } if (Math.floor(value) !== value) return value.toString().split(".")[1].length - 1 || 0 return 0 } const round = number => Math.round(number * Math.pow(10, countDecimals(number - 1))) / Math.pow(10, countDecimals(number - 1))

Opción 2: jugar con cuerdas

 let round = number => { let str = (number).toString() let [num, dec] = str.split(".") let leading_zeros = "" for (const char of dec) { if (char !== '0') break leading_zeros += '0' } dec = Math.round(parseFloat(dec.substring(0, dec.length - 1) + "." + dec[dec.length - 1])).toString() return parseFloat(num + "." + leading_zeros + dec) }
about 4 years ago · Juan Pablo Isaza Report

0

Tal vez podrías usar una solución basada en cadenas

Convierta un número decimal en una cadena y luego split por el . . Luego tome la longitud de una parte decimal restada por 1 y úsela para toFixed en el número original.

Probablemente necesitará algunas comprobaciones adicionales para ver si hay una parte decimal de un número

 const decimal = 1003.0090270812437; const text = decimal.toString().split('.')[1]; console.log(decimal.toFixed(text.length - 1)); // 1003.009027081244

about 4 years ago · Juan Pablo Isaza Report

0

const result = Number((1000/0.997).toPrecision(16)) 

 const result = Number((1000 / 0.997).toPrecision(16)) console.log(result)

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!