Fließkommazahlen in JavaScript - Keine Garantierte Genauigkeit?



  • Hallo,

    ich habe gerade herausgefunden, diese Addition:
    erg = 1.4 + 0.7;
    in Javascript 2.099999996 ergibt.

    Warum? Hat JavaScript etwa keine garantierten Nachkommastellen?
    Wenn ich erg.toPrecision(2) aufrufe, kann ich damit offensichtlich die garantierten Stellen einstellen, das Ergebnis ist dann jedenfalls 2.1. Was ist das für ein komisches Verhalten?



  • Wieso ist doch immerhin auf 0.000000004 genau. Solltest also runden oder sonstwie formattieren.



  • irgendwie sonstwie irgendwas tun^^

    Das hilft nicht wirklich weiter und runden dann hab ich irgendwann die übelsten fehler in meinen Berechnungen weil ich immer gerundet habe. Ich denke hier wird eine vernünftige Lösung gefragt...



  • mongodonkikong schrieb:

    Ich denke hier wird eine vernünftige Lösung gefragt...

    Vermutlich dieselbe wie in (fast) allen anderen Programmiersprachen auch: Nimm eine Fixkommabibliothek (oder schreib selbst eine), oder akzeptiere, dass Fließkommazahlen nicht genau sind.


Anmelden zum Antworten