Числа
Разделы:
Методы | Аргументы | Возвращает | Описание |
toString | значение системы счисления | число строкового типа | преобразует число к указанной системе счисления |
Number | строка или число | объект (число) либо NaN | преобразует значение к числовому объекту |
Math.trunc | число | целую часть числа, либо NaN | удаляет дробную часть без округления |
Math.abs | число | положительное число, либо NaN | делает число положительным |
parseInt | 1) строка 2) система счисления числа в строке | число, в случае неудачи NaN | получает из строки целое число |
parseFloat | принимает строку, содержащую число | число, в случае неудачи NaN | получает из строки число с плавающей точкой |
Math.floor | число | округлённое число | округление в меньшую сторону |
Math.ceil | число | округлённое число | округление в большую сторону |
Math.round | число | округлённое число | округление до ближайшего целого |
toFixed | число | строковое представление числа | округляет число до n знаков после запятой |
Math.random | ничего не принимает | случайное число с плавающей запятой | возвращает случайное число с плавающей запятой от 0 до 1 |
Math.max | набор чисел | максимальное число | находит максимально большое число среди множества других чисел |
Math.min | набор чисел | минимальное число | определяет наименьшее число среди набора чисел |
Math.pow | 1) число 2) степень (число) | число возведённое в степень | возвращает число, возведённое в степень |
Math.sign | число или строка | 1 если число положительное, -1 если отрицательное, 0 если это 0, -0 если это -0 и NaN, если переданное значение не корректно | возвращает знак числа, указывающий, является ли число положительным, отрицательным или нулём |
Math.sqrt | число | квадратный корень числа | возвращает положительный квадратный корень числа |
isNaN | любой тип | true если NaN и false если нет | преобразует значение в число и проверяет является ли оно NaN |
isFinite | любой тип | true если обычное число и false если нет | проверяет является аргумент обычным числом |
Преобразование
♦ toString
num.toString(16)
Преобразует число к указанной системе счисления. Принимает значение системы счисления, возвращает перекодированное значение в виде строки.
const num = 545;
num.toString(36);
// return: "f5"
num.toString(16);
// return: "221"
num.toString(10);
// return: "545"
num.toString(8);
// return: "1041"
num.toString(2);
// return: "1000100001"
num.toString();
// return: "545"
♦ Number
Number('123')
Преобразует значение к числовому объекту. Возвращает объект (число), в случае неудачи преобразования NaN.
Number('123');
// return: 123
Number('');
// return: 0
Number('0x11');
// return: 17
Number('0b11');
// return: 3
Number('0o11');
// return: 9
Number('foo');
// return: NaN
♦ Math.trunc
Math.trunc(42.89)
Производит удаление дробной части без округления, в виде аргумента принимает любое число. Возвращает целую часть числа, в ином случае NaN.
Math.trunc(13.37);
// return: 13
Math.trunc(42.84);
// return: 42
Math.trunc(0.123);
// return: 0
Math.trunc(-0.123);
// return: -0
Math.trunc('-1.123');
// return: -1
Math.trunc(NaN);
// return: NaN
Math.trunc('foo');
// return: NaN
Math.trunc();
// return: NaN
♦ Math.abs
Math.abs(-25)
Любое число делает положительным, в виде аргумента принимает число. Возвращает положительное число, в ином случае NaN.
Math.abs('-1');
// return: 1
Math.abs(-2);
// return: 2
Math.abs(null);
// return: 0
Math.abs('');
// return: 0
Math.abs([]);
// return: 0
Math.abs([2]);
// return: 2
Math.abs([1,2]);
// return: NaN
Math.abs({});
// return: NaN
Math.abs('string');
// return: NaN
Math.abs();
// return: NaN
Парсинг
♦ parseInt
parseInt('100px')
Получает из строки целое число. Принимает в виде аргумента строку, содержащую число, вторым аргументом можно указать систему счисления, в которой находится число, возвращает полученное число, если первый символ строки не удалось сконвертировать, то вернёт NaN.
parseInt('015', 10);
// return: 15
parseInt('FXX123', 16);
// return: 15
parseInt('15*3', 10);
// return: 15
parseInt('Text', 8);
// return: NaN
parseInt('-24px');
// return: -24
♦ parseFloat
parseFloat('12.5em')
Получает из строки число с плавающей точкой. Принимает в виде аргумента строку, содержащую число, возвращает полученное число, если первый символ строки не удалось сконвертировать, то вернёт NaN.
parseFloat('015.56');
// return: 15.56
parseFloat('Text');
// return: NaN
parseFloat('-34.4px');
// return: -34.4
parseFloat('n4.3');
// return: NaN
parseFloat('-024.89344px');
// return: -24.89344
Округление
♦ Math.floor
Math.floor(3.1)
Округление в меньшую сторону. Принимает число, возвращает округлённое в меньшую сторону число.
Math.floor( 25.95);
// return: 25
Math.floor(-25.95);
// return: -26
Math.floor(4.9);
// return: 4
♦ Math.ceil
Math.ceil(3.1)
Округление в большую сторону. Принимает число, возвращает округлённое в большую сторону число.
Math.ceil( 25.95);
// return: 26
Math.ceil(-25.95);
// return: -25
Math.ceil(4.9);
// return: 5
Math.ceil(4.001);
// return: 5
♦ Math.round
Math.round(3.1)
Округление до ближайшего целого. Принимает число, возвращает округлённое число до ближайшего целого.
Math.round( 25.95);
// return: 26
Math.round(-25.95);
// return: -26
Math.round(4.5);
// return: 5
Math.round(4.001);
// return: 4
♦ toFixed
num.toFixed(1)
Округляет число до n знаков после запятой и возвращает строковое представление результата
25.95.toFixed(1);
// return: 25.9
2.9500456.toFixed(3);
// return: 2.950
-4.5.toFixed();
// return: -5
-4.4.toFixed(0);
// return: -4
Вычисление
♦ Math.random
Math.random()
Возвращает случайное число с плавающей запятой от 0 до 1. Ничего не принимает.
Math.random();
// return: 0.2629239227661553 ( каждый раз разное )
Math.floor(Math.random() * 100);
// return: 79 ( от 0 до 100 )
Math.random() * (10 - 5) + 5;
// return: 8.416254047836883 ( максимум 10 минимум 5 )
♦ Math.max
Math.max(3, 5, -10, 0, 1)
Находит максимально большое число среди множества других чисел. Если один из аргументов нельзя будет преобразовать к числу, то вернёт NaN, если аргументов не будет — то Infinity.
Math.max(-10, -20);
// return: -10
Math.max(5, 2, 8, 7, 23, 9);
// return: 23
Math.max(5, 2, 8, 7, -23, 9);
// return: 9
♦ Math.min
Math.min(1, 2)
Определяет наименьшее число среди набора чисел. Если один из аргументов нельзя будет преобразовать к числу, то вернёт NaN, если аргументов не будет — то Infinity.
Math.min(-10, -20);
// return: -20
Math.min(5, 2, 8, 7, 23, 9);
// return: 2
Math.min(5, 2, 8, 7, -23, 9);
// return: -23
♦ Math.pow
Math.pow(n, degree)
Возвращает число n, возведённое в степень degree. Если аргументы некорректны — вернёт NaN.
Math.pow(4, 2);
// return: 16
Math.pow(2, -4);
// return: 0.0625
Math.pow(10, 2);
// return: 100
♦ Math.sqrt
Math.sqrt(x)
Возвращает положительный квадратный корень числа. Если число отрицательное, то вернёт NaN.
Math.sqrt(9);
// return: 3
Math.sqrt(2);
// return: 1.4142135623730951
Math.sqrt(1);
// return: 1
Math.sqrt(0);
// return: 0
Math.sqrt(-1);
// return: NaN
Math.sqrt(-0);
// return: -0
Проверка
♦ Math.sign
Math.sign(x)
Возвращает знак числа, указывающий, является ли число положительным, отрицательным или нулём. Принимает число или строку, возвращает 1 если число положительное, -1 если отрицательное, 0 если это 0, -0 если это -0 и NaN, если переданное значение некорректно.
Math.sign(3);
// return: 1
Math.sign(-3);
// return: -1
Math.sign('-3');
// return: -1
Math.sign(0);
// return: 0
Math.sign(-0);
// return: -0
Math.sign('foo');
// return: NaN
♦ isNaN
isNaN(value)
Преобразует значение в число и проверяет, является ли оно NaN.
isNaN(NaN);
// return: true
isNaN(undefined);
// return: true
isNaN({});
// return: true
isNaN(true);
// return: false
isNaN(null);
// return: false
isNaN(37);
// return: false
isNaN("37.37");
// return: false
isNaN("37,5");
// return: true
isNaN(new Date());
// return: false
isNaN(new Date().toString());
// return: true
♦ isFinite
isFinite(value)
Преобразует аргумент в число и возвращает true, если оно является обычным числом.
isFinite(Infinity);
// return: false
isFinite(NaN);
// return: false
isFinite(-Infinity);
// return: false
isFinite(0);
// return: true
isFinite(265.56);
// return: true
isFinite("12");
// return: true
Number.isFinite("12");
// return: false