Можно создать дубликат:
Is JavaScript’s Math broken?Почему добавление двух десятичных знаков в Javascript приводит к неправильному результату?
Почему JS ввернуть эту простую математику?
document.write(.1 + .2) // 0.3000000000000004
document.write(.3 + .6) // 0.8999999999999999
Первый пример больше, чем правильный результат, а второй меньше. ??? !! Как вы это исправите? Вы должны всегда преобразовывать десятичные числа в целые числа перед выполнением операций? Мне нужно только беспокоиться о добавлении (* и/не похоже, что у меня такая же проблема в моих тестах)?
Я просмотрел много мест для ответов. Некоторые учебники (например, формы корзины покупок) притворяются, что проблема не существует и просто добавляет ценности вместе. Гуру предоставляют сложные процедуры для различных математических функций или упоминают, что JS «делает плохую работу» мимоходом, но мне еще предстоит увидеть объяснение.
Проверьте ответы на этот вопрос: http://stackoverflow.com/questions/588004/is-javascripts-math-broken –
Возможный дубликат тысяч вопросов этого и каждого отдельного форума, связанного с программированием. –
Снова ?! Нам действительно нужно написать FAQ. –