Как вычисляется значение в JavaScript?
Подскажите, почему на кальляторе значение xx+x равно 0.752001, а в JavaScript считает как 0.7520009999999999??? Я это значение считаю так: x+dx=0.5+0.001=0.501; xx+x=0.501*0.501+0.501=0.752001
Код:
function diff(f,x,dx){ |
AlexRow,
Неточные вычисления |
Спасибо большое.
PS: если считать return x*(x+x), то точность почему то не теряется. Будет четко 0.502002. Может потому что, складывается 2 одинаковых числа, а при умножении точность не теряется. |
AlexRow,
alert(0.1*0.2); alert(0.1+0.2) При любых операциях это может вылезти, всегда это нужно учитывать(если нужно). Притом погрешность имеет свойство накапливаться при большом количестве операций. |
Часовой пояс GMT +3, время: 11:11. |