Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник JavaScript

Number.EPSILON

Наименьшая разница между 1 и следующим числом — для сравнения дробных чисел.

Доступно с: ES2015

Синтаксис

Number.EPSILON

Возвращаемое значение

numberОчень маленькое число, примерно 2.2e-16.

Примеры

Почему 0.1 + 0.2 не равно 0.3:

console.log(0.1 + 0.2);
console.log(0.1 + 0.2 === 0.3);

Результат:

0.30000000000000004
false

Сравнение с допуском:

const equal = (a, b) => Math.abs(a - b) < Number.EPSILON;
 
console.log(equal(0.1 + 0.2, 0.3));

Результат:

true

Примечания

Дробные числа хранятся в двоичном виде, и многие десятичные дроби в нём неточны. Поэтому дробные числа сравнивают с допуском, а деньги хранят в центах — целыми числами.

См. также

  • Number.prototype.toFixed — Форматирует число с заданным количеством знаков после запятой.
  • Math.abs — Возвращает модуль числа — его значение без знака.
  • Math.round — Округляет число до ближайшего целого.

Вопросы и ответы по теме

В учебнике

  • Числа — Числа в JavaScript — целые и дробные, округление, объект Math, toFixed и особые значения Infinity и NaN.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.