Cuando agrego dos valores de cuadro de texto que son 1.001 y 0.001 y luego hago un parseFloat
obtengo 1.0019999999. Lo quiero 1.002. ¿Me puedes ayudar?Función ParseFloat en JavaScript
Respuesta
Este es un problema conocido: ver accuraty problem y la minimización del problema precisión: minimisation
0.002 no se puede representar con precisión como un número de base 2. Similar a la forma en que 1/3 no se puede representar en la base 10.
1/3 = 0.33333 ... recuring. Para representar el número con precisión en la base 10, necesitaría un número infinito de dígitos decimales.
0.002 es un número que se puede representar con precisión en la base 10 (como vemos aquí), pero no en la base 2, tal como lo usan las computadoras. Para representar este número con precisión, tomaría una cantidad infinita de dígitos binarios.
Si desea una solución rápida puede redondear a la milésima
Math.round ((1,001 + 0,001) * 1000)/1000
La clase Javascript Number tiene una función toFixed() eso te dará lo que quieres.
Así que podría hacer parseFloat ("1.0019999") a Fijo (3) y eso le daría "1.002".
El parámetro (3 en este caso) es el número de dígitos a mostrar después del punto decimal
Los métodos javascript Number.toFixed()
y Number.toPrecision()
puede ayudar aquí, pero they return a String
. Una posible solución es la siguiente:
var x = parseFloat(parseFloat("1.0019999999").toPrecision(3));
- 1. Función ParseFloat sensible a la cultura en JavaScript?
- 2. JavaScript parseFloat in Different Cultures
- 3. Segundo argumento para parseFloat en JavaScript?
- 4. Cómo redondear los resultados de ParseFloat en Jquery/Javascript?
- 5. javascript parseFloat '500,000' devuelve 500 cuando necesito 500000
- 6. diferencia entre parseInt() y parseFloat()
- 7. jQuery globalizar problemas con la validación parseFloat
- 8. Diferencia de comportamiento entre parseInt() y parseFloat()
- 9. ! función anterior en javascript?
- 10. main() función en JavaScript?
- 11. ¿Cuál es la diferencia entre Number (...) y parseFloat (...)
- 12. Inyectar javascript en una función de Javascript
- 13. archivo JavaScript importación en función de JavaScript
- 14. Cuál es la manera correcta de parseFloat en Java
- 15. optimizar una función en Javascript
- 16. Javascript Ámbito en función inyectada
- 17. ¿Encadenando una función en JavaScript?
- 18. Valores de función en JavaScript
- 19. Javascript encontrar la función
- 20. submit_tag con función javascript
- 21. función javascript InArray
- 22. Javascript toFixed() la función
- 23. Javascript función de prueba
- 24. console.log Javascript [Función]
- 25. Función-Indicador Javascript Asignación
- 26. JavaScript idioma: algo función &&()
- 27. javascript onclick, función anónima
- 28. función javascript alcance
- 29. Javascript Función Definición Sintaxis
- 30. Función no definida javascript
Gracias, 17 de 26. No sabía acerca de la función toFixed(). – pmg
El método toFixed() devuelve una representación de cadena (en lugar de número) de un número en notación de punto fijo. Por lo tanto, debemos tener cuidado al tratar con el método Fixed(). – pramodc84