2015-10-21 2 views
0

Я только что попробовал очень простой расчет на javascript: 8.87 + 7.1, но выход такой непредсказуемый: 15.969999999999999 Может кто-нибудь объяснить почему? И как это предотвратить?
Я использую Chrome для выполнения вычисленияJavascript неверный расчет

ответ

1

Двоичные числа не могут хранить значения с плавающей запятой 100% точную. По этой причине происходят неточности, подобные вашим. Взгляните на следующие ссылки:

Floating point inaccuracy examples

What causes floating point rounding errors?

расчет Float

What Every Computer Scientist Should Know About Floating-Point Arithmetic

0

является точность, чем целое. У него есть некоторая ошибка. Лучший способ предотвратить это - использовать float.