JS Core

Методы чисел

Научиться работать с числами: форматирование, округление, преобразование строк в числа и проверка на числа.

Начальный (Beginner)
Нужно знать:JSON

Кратко

Number — встроенный объект для работы с числами. parseInt() и parseFloat() преобразуют строки в числа. toFixed() форматирует десятичные. isNaN() проверяет на NaN. Math содержит математические функции: floor, ceil, round, random.


Подробно

Преобразование строк в числа: Number('42') // 42 Number('hello') // NaN parseInt('42px') // 42 (отбрасывает нечисловые символы) parseFloat('3.14abc') // 3.14

Округление: Math.floor(3.7) // 3 (вниз) Math.ceil(3.2) // 4 (вверх) Math.round(3.5) // 4 (ближайшее)

Форматирование: (3.14159).toFixed(2) // '3.14' (строка!) (3.14159).toPrecision(3) // '3.14'

Проверка: Number.isNaN(NaN) // true Number.isNaN('hello') // false Number.isFinite(42) // true Number.isFinite(Infinity) // false

Math: Math.abs(-5) // 5 Math.max(1, 5, 3) // 5 Math.min(1, 5, 3) // 1 Math.random() // 0 ≤ x < 1 Math.sqrt(16) // 4 Math.pow(2, 3) // 8


Ментальная модель

Number methods — как калькулятор с дополнительными кнопками: округление, форматирование, проверка — всё для работы с числами.


Примеры

**Самый простой:**

javascript
console.log(parseInt('42px'));    // 42
console.log(parseFloat('3.14abc')); // 3.14
console.log(Number('hello'));       // NaN

parseInt и parseFloat «вытаскивают» число из строки. Если не могут — NaN.

**Простой:**

javascript
const price = 19.999;
console.log(price.toFixed(2)); // '20.00'
console.log(Math.round(price)); // 20
console.log(Math.floor(price)); // 19

toFixed возвращает строку! Math.round/floor/ceil возвращают число.

**Реальный пример:**

javascript
function generateRandomId() {
  return Math.random().toString(36).substring(2, 9);
}

console.log(generateRandomId()); // 'f4ki2j1'

Math.random() генерирует случайное число. toString(36) превращает его в строку.


Частые ошибки

**Неправильно:** Забывать, что toFixed() возвращает строку

**Почему:** (3.14).toFixed(2) → '3.14' (строка, не число!).

**Правильно:** Используйте Number((3.14).toFixed(2)) для числа.

**Неправильно:** Использовать isNaN() вместо Number.isNaN()

**Почему:** isNaN() приводит значение к числу перед проверкой. Number.isNaN() — строгая проверка.

**Правильно:** Используйте Number.isNaN() для точной проверки.

**Неправильно:** Думать, что parseInt всегда точен

**Почему:** parseInt('08') в старых IE возвращает 0 (восьмеричная система). Всегда указывайте основание: parseInt('08', 10).

**Правильно:** Всегда: parseInt(value, 10).


Важно запомнить

  • parseInt/parseFloat — строки → числа
  • toFixed() возвращает строку!
  • Math.floor/ceil/round — округление
  • Number.isNaN() — строгая проверка на NaN
  • Math.random() — случайное число 0 ≤ x < 1

Связь

Назад: Вы знаете базовые операции (J4) — теперь у вас есть продвинутые инструменты для чисел.

Вперёд: Следующий урок (J22) — методы строк: инструменты для работы с текстом.

Материалы курса JS Core — PROlab Academy.