Nummerafrunding

Tags:    javascript

Hej,

Jeg har i dag arbejdet lidt med nummerafrunding i Javascript og er faldet på følgende problem:

Hvis jeg prøver at afrunde 72.865 til to decimaler, ender jeg med 72.86 istedet for 72.87.

Er her nogle som kan forklare mig hvorfor?

Prøver jeg med andre tal som f.eks. 45.865 så passer resultatet (45.87).
Metoden jeg bruger til afrunding er som følger:
Fold kodeboks ind/udKode 




det er fordi at den af en eller mærkelig grund ender på 7286.4999999



det er fordi at den af en eller mærkelig grund ender på 7286.4999999

Mærkelig er så meget sagt. Det hedder "maskin nøjagtighed" og skyldes den måde kommatal gemmes i en computer.

Der er en længere forklaring på http://en.wikipedia.org/wiki/Floating_point




t