Meine Herren!
danke für Deine Hilfe! Das Script funktioniert jetzt. Aber wenn bei Milligramm der Wert vom Nutzer bspw. auf 9 gesetzt wird, springt der Wert bei Gramm auf 0,009000000000000001. Warum ist das so?
Das hat mit JavaScripts interner Repräsentation von Zahlen zu tun, JavaScript rechnet nämlich intern immer mit Floating-Point Arithmetik. Das heißt zum Einen, dass JavaScript manche Zahlenwerte einfach nicht annehmen kann und zum anderen, dass Rechenoperationen nicht völlig exakt laufen.
9 * 000.1 === 0.009000000000000001; // true
9 / 1000 === 0.009; // true
Number.MAX_VALUE === Number.MAX_VALUE - 1; // true
--
“All right, then, I'll go to hell.” – Huck Finn
“All right, then, I'll go to hell.” – Huck Finn