Проверки и преобразования
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