2. Методы чисел (Number)


Проверки и преобразования

let num = 123.45678;

// Проверка типа
console.log(typeof num); // "number"
console.log(Number.isInteger(num)); // false
console.log(Number.isFinite(num)); // true
console.log(Number.isNaN(NaN)); // true (проверка на NaN)

// Преобразование в строку
console.log(num.toString()); // "123.45678"
console.log(num.toString(2)); // "1111011.011101..." (в двоичной)
console.log(num.toString(16)); // "7b.74bc..." (в шестнадцатеричной)

// Форматирование
console.log(num.toFixed(2)); // "123.46" (округление до 2 знаков)
console.log(num.toPrecision(5)); // "123.46" (5 значащих цифр)
console.log(num.toExponential(2)); // "1.23e+2" (экспоненциальная запись)

// Преобразование в число
let strNum = "123.45";
console.log(parseInt(strNum)); // 123 (целое число)
console.log(parseFloat(strNum)); // 123.45 (дробное число)
console.log(Number(strNum)); // 123.45
console.log(+strNum); // 123.45 (унарный плюс)

Математические операции (глобальный объект Math)

let x = 4.7, y = -3.2;

// Округление
console.log(Math.round(x)); // 5 (математическое округление)
console.log(Math.floor(x)); // 4 (в меньшую сторону)
console.log(Math.ceil(x)); // 5 (в большую сторону)
console.log(Math.trunc(x)); // 4 (удаление дробной части)

// Абсолютное значение
console.log(Math.abs(y)); // 3.2

// Степени и корни
console.log(Math.pow(2, 3)); // 8 (2³)
console.log(Math.sqrt(16)); // 4 (квадратный корень)
console.log(Math.cbrt(27)); // 3 (кубический корень)

// Минимум и максимум
console.log(Math.min(10, 20, 5)); // 5
console.log(Math.max(10, 20, 5)); // 20

// Случайные числа
console.log(Math.random()); // случайное от 0 до 1
console.log(Math.floor(Math.random() * 100) + 1); // случайное от 1 до 100

// Константы
console.log(Math.PI); // 3.141592653589793
console.log(Math.E); // 2.718281828459045 (число Эйлера)

Работа с очень большими/маленькими числами

// Проверка безопасного диапазона
console.log(Number.MAX_SAFE_INTEGER); // 9007199254740991
console.log(Number.MIN_SAFE_INTEGER); // -9007199254740991

// Проверка, безопасно ли число
console.log(Number.isSafeInteger(123)); // true
console.log(Number.isSafeInteger(10 ** 16)); // false

// BigInt для очень больших чисел
let bigNum = 123456789012345678901234567890n;
console.log(bigNum + 1n); // 123456789012345678901234567891n