Задать вопрос

JavaScript: почему возникает проблема при операциях с числами?

Сразу к сути: делаю вычитание 2.68-0.01 получаю ответ 2.6700000000000004

Что это? в какую сторону смотреть? из-за таких багов приходиться везде применять округлении, хотя с какой стати оно вобще нужно при вычитании одинаковых чисел с 2 знаками после точки.
  • Вопрос задан
  • 3582 просмотра
Подписаться 5 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
@gro
Операция с плавающей запятой.
Ответ написан
Комментировать
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Комментировать
iDevArtem
@iDevArtem
О подобных проблемах JavaScript'а есть статейка на хабре

Как вариант, вашу проблему можно решить округлением:
var result = (2.68-0.01).toFixed(2)
console.log('result = ' + result); // result = 2.67
Ответ написан
Комментировать
@RokkerRuslan
Ошибки перевода из одной СС в другую. Все операции компьютер производит в двоичной СС, но не все числа можно правильно в ней представить. Обратите внимание, ошибка настолько мала, что её, во многих случаях, можно не учитывать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы