Я только что попробовал очень простой расчет на javascript: 8.87 + 7.1, но выход такой непредсказуемый: 15.969999999999999 Может кто-нибудь объяснить почему? И как это предотвратить?
Я использую Chrome для выполнения вычисленияJavascript неверный расчет
0
A
ответ
1
Двоичные числа не могут хранить значения с плавающей запятой 100% точную. По этой причине происходят неточности, подобные вашим. Взгляните на следующие ссылки:
Floating point inaccuracy examples
What causes floating point rounding errors?
расчет FloatWhat Every Computer Scientist Should Know About Floating-Point Arithmetic
0
является точность, чем целое. У него есть некоторая ошибка. Лучший способ предотвратить это - использовать float.