Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Класс Number
Класс Number
является классом-оберткой над элементарным типом number
. Экземпляр класса создается по следующей схеме:
<Экземпляр класса> = new Number(<Начальное значение>);
Пример создания экземпляра класса:
let x = new Number(10);
console.log(x.toString()); // 10
console.log(typeof x); // object
Таким способом редко пользуются. Все методы класса Number
доступны и при использовании элементарного типа. Преобразование элементарного типа в объектный выполняется автоматически:
let x = 255;
console.log(x.toString(16)); // ff
console.log(typeof x); // number
Если в операции участвуют число и экземпляр класса Number
, то экземпляр класса будет автоматически преобразован в число:
let x = new Number(10);
let y = 255;
console.log(x + y); // 265
Для преобразования значения в число можно использовать следующий формат:
<Переменная> = Number(<Значение>);
Пример преобразования строки в число:
let x = Number('10');
console.log(x); // 10
console.log(typeof x); // number
Свойства класса Number
можно использовать без создания экземпляра класса:
MAX_VALUE
— максимально допустимое в JavaScript число:
console.log(Number.MAX_VALUE); // 1.7976931348623157e+308
MIN_VALUE
— минимально допустимое в JavaScript число:
console.log(Number.MIN_VALUE); // 5e-324
NaN
— значениеNaN
:
console.log(Number.NaN); // NaN
NEGATIVE_INFINITY
— значение "минус бесконечность":
console.log(Number.NEGATIVE_INFINITY); // -Infinity
POSITIVE_INFINITY
— значение "плюс бесконечность":
console.log(Number.POSITIVE_INFINITY); // Infinity
EPSILON
— значение эпсилон:
console.log(Number.EPSILON); // 2.220446049250313e-16
MIN_SAFE_INTEGER
— минимальное целочисленное значение:
console.log(Number.MIN_SAFE_INTEGER); // -9007199254740991
MAX_SAFE_INTEGER
— максимальное целочисленное значение:
console.log(Number.MAX_SAFE_INTEGER); // 9007199254740991
Методы:
valueOf()
— возвращает числовое значение экземпляра класса:
let x = new Number(15);
let y = x.valueOf(); // 15
console.log(typeof y); // number
toString([<Основание>])
— возвращает строковое представление числа:
let x = 15;
let str = x.toString(); // "15"
console.log(typeof str); // string
x = 100;
console.log(x.toString(2)); // 1100100
x = 119;
console.log(x.toString(8)); // 167
x = 255;
console.log(x.toString(16)); // ff
toFixed([<Число>])
— возвращает строковое представление числа, округленное до указанного числа цифр после точки. Если параметр не указан, то значение округляется до целого числа. Пример:
let x = 1234.6789;
console.log(x.toFixed()); // 1235
console.log(x.toFixed(1)); // 1234.7
console.log(x.toFixed(2)); // 1234.68
toPrecision([<Число>])
— возвращает строковое представление числа, округленное до указанного числа значащих цифр. Если параметр не указан, то метод аналогичен методуtoString()
. Пример:
let x = 0.06789;
console.log(x.toPrecision()); // 0.06789
console.log(x.toPrecision(1)); // 0.07
console.log(x.toPrecision(2)); // 0.068
toExponential([<Число>])
— возвращает строковое представление числа в экспоненциальной форме, округленное до указанного числа цифр после точки. Если параметр не указан, то округление не выполняется. Пример:
let x = 0.06789;
console.log(x.toExponential()); // 6.789e-2
console.log(x.toExponential(1)); // 6.8e-2
console.log(x.toExponential(2)); // 6.79e-2
toLocaleString()
— возвращает строковое представление числа в зависимости от локали (показан результат при запуске в Web-браузере):
let x = 1027324.564;
console.log(x.toLocaleString('ru-RU')); // 1 027 324,564
console.log(x.toLocaleString('en-US')); // 1,027,324.564
console.log(x.toLocaleString('de-DE')); // 1.027.324,564
В Node.js версии 12 локализация не входит в состав устанавливаемых компонентов, поэтому во всех трех инструкциях получим представление числа в локали en-US
:
let x = 1027324.564;
console.log(x.toLocaleString('ru-RU')); // 1,027,324.564
console.log(x.toLocaleString('en-US')); // 1,027,324.564
console.log(x.toLocaleString('de-DE')); // 1,027,324.564
isInteger(<Значение>)
— возвращает значениеtrue
, если указанное значение является целым числом или вещественным числом, которое может быть преобразовано в целое число без потерь:
console.log(Number.isInteger(10)); // true
console.log(Number.isInteger(10.0)); // true
console.log(Number.isInteger(10.2)); // false
console.log(Number.isInteger('10')); // false
isSafeInteger(<Значение>)
— возвращает значениеtrue
, если указанное значение является "безопасным" целым числом:
console.log(Number.isSafeInteger(10)); // true
console.log(Number.isSafeInteger(
Number.MAX_SAFE_INTEGER + 1)); // false
parseInt(<Строка>[, <Основание>])
— преобразует строку в целое число (аналог глобальной функцииparseInt()
). Строка считается заданной в системе счисления, указанной вторым необязательным параметром. Если основание не указано, то система счисления выбирается автоматически и зависит от префиксов в строке, например, если строка начинается с0x
, то будет использоваться основание16
. Если строка не может быть преобразована в число, возвращается значениеNaN
:
console.log( Number.parseInt('10') ); // 10
console.log( Number.parseInt('0xFF') ); // 255
console.log( Number.parseInt('0xFF', 16) ); // 255
console.log( Number.parseInt('0167', 8) ); // 119
console.log( Number.parseInt('1110111', 2) ); // 119
console.log( Number.parseInt('строка', 2) ); // NaN
parseFloat(<Строка>)
— преобразует строку в число с плавающей точкой (аналог глобальной функцииparseFloat()
):
console.log( Number.parseFloat('5.2') ); // 5.2
console.log( Number.parseFloat('5e-2') ); // 0.05
console.log( Number.parseFloat('строка') ); // NaN
isFinite(<Значение>)
— возвращаетtrue
, если значение не равно плюс или минус бесконечность или значениюNaN
, иfalse
в противном случае (аналог глобальной функцииisFinite()
). В отличие от глобальной функцииisFinite()
, методisFinite()
из классаNumber
автоматически не преобразует указанное значение в число:
console.log( Number.isFinite('0') ); // false
console.log( isFinite('0') ); // true
isNaN(<Значение>)
— возвращаетtrue
, если значение равноNaN
, иfalse
в противном случае (аналог глобальной функцииisNaN()
). Пример:
let x = 10.0 / 0, y = 0.0 / 0, z = 5;
console.log( x + ' ' + y + ' ' + z ); // Infinity NaN 5
console.log( Number.isNaN(x) ); // false
console.log( Number.isNaN(y) ); // true
console.log( Number.isNaN(z) ); // false
console.log( Number.isFinite(x) ); // false
console.log( Number.isFinite(y) ); // false
console.log( Number.isFinite(z) ); // true
В отличие от глобальной функции isNaN()
, метод isNaN()
из класса Number
автоматически не преобразует указанное значение в число:
console.log( Number.isNaN('str') ); // false
console.log( isNaN('str') ); // true
Помощь сайту
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов