JavaScript, динамичный и универсальный язык программирования, предоставляет множество методов для работы с числами. Эти методы позволяют разработчикам преобразовывать, форматировать и обрабатывать числовые данные различными способами. В этом сообщении блога мы подробно рассмотрим числовые методы JavaScript, предоставив подробные пояснения, примеры и фрагменты кода, чтобы сделать концепции максимально понятными. Независимо от того, являетесь ли вы новичком или имеете некоторый опыт работы с JavaScript, это руководство поможет вам понять и эффективно использовать числовые методы JavaScript.
Обзор числовых методов JavaScript
JavaScript предоставляет несколько методов, которые можно использовать с числами:
toString()
: преобразует число в строку.toExponential()
: преобразует число в экспоненциальное представление.toFixed()
: форматирует число с определенным количеством десятичных знаков.toPrecision()
: форматирует число до определенной длины.valueOf()
: возвращает примитивное значение числа.
Рассмотрим подробно каждый из этих способов.
Метод toString()
Метод toString()
преобразует число в строку. Этот метод можно использовать для любого типа чисел (литералы, переменные или выражения):
let x = 123; x.toString(); // returns '123' (123).toString(); // returns '123' (100 + 23).toString(); // returns '123'
Метод toExponential()
Метод toExponential()
преобразует число в экспоненциальную запись. Параметр может быть передан для определения количества символов после запятой:
let x = 9.656; x.toExponential(2); // returns '9.66e+0' x.toExponential(4); // returns '9.6560e+0' x.toExponential(6); // returns '9.656000e+0'
Метод toFixed()
Метод toFixed()
форматирует число с определенным количеством десятичных знаков. Этот метод идеально подходит для работы с деньгами или других ситуаций, когда требуется точное десятичное представление:
let x = 9.656; x.toFixed(0); // returns '10' x.toFixed(2); // returns '9.66' x.toFixed(4); // returns '9.6560' x.toFixed(6); // returns '9.656000'
Метод toPrecision()
Метод toPrecision()
форматирует число до определенной длины. Параметр может быть передан для определения общей длины числа:
let x = 9.656; x.toPrecision(); // returns '9.656' x.toPrecision(2); // returns '9.7' x.toPrecision(4); // returns '9.656' x.toPrecision(6); // returns '9.65600'
Метод valueOf()
Метод valueOf()
возвращает примитивное значение числа. Этот метод используется внутри JavaScript для преобразования объектов Number в примитивные значения:
let x = 123; x.valueOf(); // returns 123 (123).valueOf(); // returns 123 (100 + 23).valueOf(); // returns 123
В JavaScript число может быть примитивным значением (typeof = число) или объектом (typeof = объект). Нет причин использовать метод valueOf()
в вашем коде, поскольку JavaScript автоматически преобразует объекты Number в примитивные значения, когда это необходимо.
Преобразование переменных в числа
Есть три метода JavaScript, которые можно использовать для преобразования переменных в числа:
Number()
: преобразует переменную JavaScript в число.parseFloat()
: анализирует строку и возвращает число с плавающей запятой.parseInt()
: анализирует строку и возвращает целое число.
Эти методы не числовые, а глобальные методы JavaScript.
Метод числа()
Метод Number()
можно использовать для преобразования переменных JavaScript в числа:
Number(true); // returns 1 Number(false); // returns 0 Number("10"); // returns 10 Number(" 10"); // returns 10 Number("10 "); // returns 10 Number(" 10 "); // returns 10 Number("10.33"); // returns 10.33 Number("10,33"); // returns NaN Number("10 33"); // returns NaN Number("John"); // returns NaN
Если число невозможно преобразовать, возвращается NaN
(не число).
Метод Number(), используемый для дат
Number()
также может преобразовать дату в число:
Number(new Date("1970-01-01")); // returns 0
Метод Date()
возвращает количество миллисекунд с 1.1.1970.
Метод parseInt()
parseInt()
анализирует строку и возвращает целое число. Допускаются пробелы. Возвращается только первое число:
parseInt("-10"); // returns -10 parseInt("-10.33"); // returns -10 parseInt("10"); // returns 10 parseInt("10.33"); // returns 10 parseInt("10 20 30"); // returns 10 parseInt("10 years"); // returns 10 parseInt("years 10"); // returns NaN
Если число не может быть преобразовано, возвращается NaN
(не число).
Метод parseFloat()
parseFloat()
анализирует строку и возвращает число. Допускаются пробелы. Возвращается только первое число:
parseFloat("10"); // returns 10 parseFloat("10.33"); // returns 10.33 parseFloat("10 20 30"); // returns 10 parseFloat("10 years"); // returns 10 parseFloat("years 10"); // returns NaN
Если число не может быть преобразовано, возвращается NaN
(не число).
Методы числового объекта
Эти методы объекта принадлежат объекту Number:
Number.isInteger()
: возвращает true, если аргумент является целым числом.Number.isSafeInteger()
: возвращает true, если аргумент является безопасным целым числом.Number.parseFloat()
: Преобразует строку в число.Number.parseInt()
: Преобразует строку в целое число.
Доступ к этим методам возможен только как Number.isInteger()
. Использование X.isInteger()
, где X — переменная, приведет к ошибке: TypeError X.isInteger is not a function.
Метод Number.isInteger()
Метод Number.isInteger()
возвращает true, если аргумент является целым числом:
Number.isInteger(10); // returns true Number.isInteger(10.5); // returns false
Метод Number.isSafeInteger()
Безопасное целое число — это целое число, которое можно точно представить как число двойной точности. Метод Number.isSafeInteger()
возвращает true, если аргумент является безопасным целым числом:
Number.isSafeInteger(10); // returns true Number.isSafeInteger(12345678901234567890); // returns false
Безопасные целые числа — это все целые числа от -(2⁵³ — 1) до +(2⁵³ — 1). Это безопасно: 9007199254740991. Это не безопасно: 9007199254740992.
Метод Number.parseFloat()
Number.parseFloat()
анализирует строку и возвращает число. Допускаются пробелы. Возвращается только первое число:
Number.parseFloat("10"); // returns 10 Number.parseFloat("10.33"); // returns 10.33 Number.parseFloat("10 20 30"); // returns 10 Number.parseFloat("10 years"); // returns 10 Number.parseFloat("years 10"); // returns NaN
Если число не может быть преобразовано, возвращается NaN
(не число).
Метод Number.parseInt()
Number.parseInt()
анализирует строку и возвращает целое число. Допускаются пробелы. Возвращается только первое число:
Number.parseInt("-10"); // returns -10 Number.parseInt("-10.33"); // returns -10 Number.parseInt("10"); // returns 10 Number.parseInt("10.33"); // returns 10 Number.parseInt("10 20 30"); // returns 10 Number.parseInt("10 years"); // returns 10 Number.parseInt("years 10"); // returns NaN
Если число невозможно преобразовать, возвращается NaN
(не число).
Это всеобъемлющее руководство должно дать вам четкое представление о том, как JavaScript обрабатывает числа с использованием различных методов. По мере изучения вы обнаружите более сложные и интересные аспекты чисел в JavaScript. Удачного кодирования!