El problema de redondeo de js es inexacto
Parece que has hecho esta pregunta durante varios días seguidos, y la has hecho varias veces ¿Nunca se ha resuelto?
Si nunca lo has entendido, déjame explicártelo detalladamente.
Primero, veamos un fragmento de código JS: var?a?=?500.50;
var?b?=?6.97;
var? result?= ?a*b;
alert(result);
Entonces, el resultado después de nuestra alerta es: 3488.4849999999997
¿Por qué?
Algunos internautas en Internet dijeron que se trata de un ERROR de cálculo de punto flotante en JavaScript. De hecho, no es un ERROR, sino un error causado por la precisión de los cálculos de punto flotante;
De esta manera, el resultado que mencionaste es 3488.485, que no es exacto para JavaScript.
Entonces veamos el siguiente código: var?a?=?500.50;
var?b?=?6.97;
var?c?= ?a*b;//A*b aquí es en realidad 3488.4849999999997
var?result?=?Math.round(c*100)/100;?//Entonces es 348848.49999999997 después de multiplicar por 100
//Entonces, después de redondear, es 348848, y después de dividir por 100, es 3488,48
alert(resultado);?//El resultado, naturalmente, es 3488,48
Salida: 3488.48
Bien, creo que ya sabes el motivo. Si quieres saber con más detalle por qué tiene tantos decimales, puedes leer la introducción correspondiente en este artículo. :
Método de almacenamiento binario y conversión de números de punto flotante blogs.com/konooo/archive/2010/01/23/1654617.html
Solución al error de operación de números de punto flotante JS /bing2liuliu /item/6b201a48ea51c40b6dc2f0b6
——————
Lo último que quiero decir es que he estado en Baidu estos días y te he visto hacer esta pregunta. al menos cuatro veces, es decir, esta pregunta es la cuarta pregunta idéntica que he visto tuya.
No es que no hayas obtenido las respuestas a las otras preguntas, y las respuestas a esas preguntas son relativamente claras.
Lo que pides: "sin fórmulas", "simples" y otros requisitos están ahí, simplemente pégalos y cópialos. Pega los métodos que proporcionan en tu código y llámalos.
Pero esto no parece ser suficiente para satisfacerlo. ¿Cómo podemos nosotros, los internautas y programadores que trabajamos duro y tratamos de resolver varios problemas desafiantes, sentirnos avergonzados?
Tengo muchas ganas de escribir unos cuantos miles de documentos y crear un sitio web, pero no es realista...