Multiply возвращает странный результат
Я получаю самый странный результат, когда умножаю 1.09 и 12. На самом деле 13.080000000000002 вместо 13.08!!! Что вызывает это? и каково решение
console.log(1,09*12);
С уважением.
1 ответ
Как объяснено здесь:
В JavaScript все числа являются числами с плавающей точкой IEEE 754. Из-за двоичной природы их кодирования некоторые десятичные числа не могут быть представлены с идеальной точностью. Это аналогично тому, как дробь 1/3 не может быть точно представлена десятичным числом с конечным числом цифр. Как только вы достигнете предела своего хранилища, вам нужно будет округлить последнюю цифру вверх или вниз.