2016-04-13 6 views
0

Ich arbeite an einem Buchhaltungs-/Inventarisierungssystem. Die Benutzer erwarten, dass die Zahlen auf 2 Dezimalstellen gerundet werden. Natürlich verursacht diese Rundung viele Diskrepanzen zwischen den verschiedenen Teilen des Systems.HTML-Fließkommazahlfeld mit hoher Genauigkeit aber runder Wert

Ich wollte wissen, ob es eine Möglichkeit gibt, die Zahleneingaben auf 2 Dezimalstellen gerundet zu machen, während die hohe Genauigkeitszahl beibehalten wird, um Rundungsfehler zu vermeiden.

Danke.

+4

Wenn Sie mit Geld arbeiten, müssen Sie native JavaScript-Nummern vollständig vermeiden. Arbeiten Sie mit einer Festkomma-Mathematikbibliothek, oder führen Sie die Berechnungen in einer serverseitigen Sprache durch, die über Festkommamathematik verfügt. – Pointy

+2

@point oder einfach alles in Pennies berechnen –

+0

@nathanhayfield ja, aber Dinge werden immer noch komisch, wenn Sie Division durchführen. Fixed-Point-Bibliotheken verfügen über eine "Bankier-Rundung", der vertraut werden kann. – Pointy

Antwort

1

Ich denke, Ihre sichere Wette ist es, eine Bibliothek wie https://github.com/MikeMcl/bignumber.js/ zu verwenden, die Sie Fixpunktarithmetik verwenden können, Vermeidung von Pont Probleme und in der Nähe von Rechnungslegungsregeln (Dinge wie Ihre Summen mit 5 Ziffern der Präzision und so weiter)

Verwandte Themen