TypeScript:
Округление чисел
Как это сделать:
В TypeScript округление можно выполнить несколькими способами. Вот краткий обзор:
// Math.round округляет до ближайшего целого числа
console.log(Math.round(1.5)); // Вывод: 2
// Math.ceil округляет вверх до ближайшего целого числа
console.log(Math.ceil(1.1)); // Вывод: 2
// Math.floor округляет вниз до ближайшего целого числа
console.log(Math.floor(1.8)); // Вывод: 1
// toFixed округляет до фиксированного числа десятичных знаков
let num = 1.23456;
console.log(num.toFixed(2)); // Вывод: "1.23"
// Обратите внимание: toFixed возвращает строку! Используйте parseFloat для обратного преобразования, если это необходимо.
console.log(parseFloat(num.toFixed(2))); // Вывод: 1.23
Углубленный разбор
В старые времена округление было необходимостью из-за ограниченного пространства и проблем с точностью на ранних компьютерах. Сегодня арифметика с плавающей точкой может привести к странным результатам из-за того, как числа хранятся в двоичной форме. Альтернативы округлению включают floor, ceil и trunc (для отсечения десятичных дробей без округления).
Внутренности заслуживают внимания: Math.round
следует принципу “округление вверх от половины” (также известное как “коммерческое округление”), в то время как Math.floor
и Math.ceil
работают просто. toFixed
может вызвать неожиданные результаты, потому что возвращает строку, и округляет, используя “округление до ближайшего четного” (также известное как “банковское округление”), что особенно полезно для уменьшения предвзятости при многократном округлении одних и тех же чисел.