JavaScript hat mehrere Dezimalbedingungen zum Multiplikationsbetrieb von schwimmenden Punktzahlen.
Dies liegt daran, dass die schwimmende Punktzahl nach dem Vorgang in Binärum umgewandelt wird, einige Dezimalstellen nach binärer Codierung unendlich zirkulieren, was zu Fehlern im Computer führt, und es gibt ähnliche Probleme in einer anderen Sprache.
Die Grunderklärung bezieht sich auf von Baidu zu wissen:
Zum Beispiel: 1038.1-1000
1038.1 = 10000001110.00011001100110011001100110011001100 .....
1000 = 1111101000
1038.1 Umwandlung in Binary ist ein unendlicher Zyklus. 1100 ist der Zyklus. als angegebene Dezimalstellnummer.
Lösung: Basierend auf den Dezimalstellen (z. B. 4), die aufbewahrt werden sollen, multiplizieren Sie zuerst (10^4), wenn Sie das Produkt berechnen, und dividieren Sie dann das Berechnungsergebnis (10^4) und nehmen Sie schließlich das Ergebnis des Ergebniswerts Mathematik. Roundd.
Kopieren Sie den Code -Code wie folgt:
var m1 = 2232.00,
Prozent = (10/100),
Insgesamt = Prozent*M1;
Alarm (Gesamt); // 223.20000000000000002
Total = Math.Round (Gesamt*10)/10;
Alarm (Gesamt); // 223.2