Tengo un proyecto paralelo en vivo en el que he estado construyendo durante unos seis meses. Una página que puede ver aquí le permite al usuario seleccionar dos opciones donde luego puede seleccionar un número y mostrará un segundo número que se calcula y luego se redondea al número entero más cercano. El componente React que tiene la lógica para esto es el siguiente:
import React, {useEffect, useState} from 'react' export default function RatingDifference({label_one, label_two, standard_deviation, currentLinearRegression}) { const [currentNumber, SetCurrentNumber] = useState(1500) useEffect(()=>{console.log(standard_deviation)},[standard_deviation]) const handleChange = (e) => { SetCurrentNumber(e.target.value) } return ( <div className='fade-in difference'> <hr /> <p> <span className='break'>A rating of {' '}</span> <span className='break bold-text'><input id='find-my-rating' type='number' onChange={handleChange} defaultValue={currentNumber}/>{' '}</span> <span className='break'>in {label_one} would equal{' '} </span> <span className='break bold-text'>{Math.round((currentLinearRegression.m*currentNumber)+currentLinearRegression.b)}{' '}</span> <span className='break'>in {label_two}, with an average variation of</span> <span className='break bold-text'> plus/minus of{' '+ Math.round(standard_deviation)+' '} points.</span> </p> </div> ) }Desafortunadamente, con frecuencia recibo usuarios que se quejan de que el número calculado se mostrará como un número sin redondear, sin decimales. Por ejemplo, el número calculado podría ser 1850,59 y luego se debe redondear a 1851 antes de renderizar, pero el componente mostrará 18059. He tenido problemas para replicar este problema por mi cuenta, ya que cuando los usuarios ven esto, el problema desaparece una vez que recarga la página. ¿Alguien podría ayudarme a entender por qué sucede esto y cómo solucionar este problema?