JavaScript. Метод toFixed
Почему метод toFixed округляет дробную часть по-разному в зависимости от того какое целое число?
let num1 = 5.145;
let num2 = 3.145;
console.log(num1.toFixed(2));
console.log(num2.toFixed(2));
Ответы (1 шт):
Автор решения: Stanislav Volodarskiy
→ Ссылка
Вещественные числа не умеют хранить точно десятичную дробь X.145. Хранится самое близкое значение в виде двоичной дроби. Иногда двоичная дробь немного больше десятичной, иногда меньше. Да, это зависит от целой части числа и влияет на округление. Вот что получается в компьютере:
$ node > (3.145).toFixed(60) '3.145000000000000017763568394002504646778106689453125000000000' > (5.145).toFixed(60) '5.144999999999999573674358543939888477325439453125000000000000'