{#
Числа | JavaScript | Программировние и др.
 
 
 
X
пароль
кодированный текст
результат
X
пароль
текст
код ссылки
просмотр кода
X
Вы действительно хотите удалить запись?
ctlg
Да
Нет
Информация
trg
Ok
 
Справочник
X
+
X
X
X
186
Числа
 
вопросответ
Math.random(x)Возвращает псевдо-случайное число в интервале [0,1) - то есть между 0(включительно) и 1(не включая). Генератор случайных чисел инициализуется текущим
Math.min(a, b, c...)Возвращает наименьший из списка аргументов
Math.max(a, b, c...)Возвращает наибольший из списка аргументов
Math.exp(x)Возвращает ex, где e — основание натуральных логарифмов.
Math.abs(x)Возвращает абсолютное значение числа
Math.pow(x, exp)Возводит число в степень, возвращает xexp, например Math.pow(2,3) = 8. Работает в том числе с дробными и отрицательными степенями, например: Math.pow(
Math.log(x)Возвращает натуральный (по основанию e) логарифм x.
Math.sqrt(x)Возвращает квадратный корень из x.
Функции общего назначенияРазные полезные функции:
Math.tan(x)Возвращает тангенс x (в радианах)
Math.cos(x)Вычисляет косинус x (в радианах)
Math.sin(x)Вычисляет синус x (в радианах)
Math.atan2(y, x)Возвращает угол до точки (y, x). Описание функции: Atan2.
Math.atanВозвращает арктангенс x (в радианах)
Math.asin(x)Возвращает арксинус x (в радианах)
Math.acos(x)Возвращает арккосинус x (в радианах)
ТригонометрияВстроенные функции для тригонометрических вычислений:
Если нам нужно именно число, то мы можем получить его, применив '+' к результату n.toFixed(..):var n = 12.34; alert( +n.toFixed(5) ); // 12.34
Итоговая строка, при необходимости, дополняется нулями до нужной точности:var n = 12.34; alert( n.toFixed(5) ); // "12.34000", добавлены нули до 5 знаков после запятой
num.toFixed(precision)var n = 12.36; alert( n.toFixed(1) ); // "12.4"
num.toFixed(precision)Существует специальный метод num.toFixed(precision), который округляет число num до точности precision и возвращает результат в виде строки:
Округление до заданной точностиОбычный трюк — это умножить и поделить на 10 с нужным количеством нулей. Например, округлим 3.456 до 2го знака после запятой: var n = 3.456; a
Это удобно в первую очередь тем, что легко читается и не заставляет ставить дополнительные скобки как Math.floor(...):var x = a * b / c ^ 0; // читается так: "a*b/c и округлить"
Любая побитовая операция такого рода подойдет, например XOR (исключающее ИЛИ, "^") с нулем:alert( 12.3 ^ 0 ); // 12 alert( 1.2 + 1.3 ^ 0); // 2, приоритет ^ меньше, чем +
В результате побитовая операция, которая не изменяет число, например, двойное битовое НЕ — округляет его:alert( ~~12.3 ); // 12
Округление битовыми операторамиБитовые операторы делают любое число 32-битным целым, обрезая десятичную часть.
Округлениеalert( Math.floor(3.1) ); // 3 alert( Math.ceil(3.1) ); // 4 alert( Math.round(3.1) ); // 3
Math.roundОкругляет до ближайшего целого
Math.ceilОкругляет вверх
Math.floorОкругляет вниз
ОкруглениеОдна из самых частых операций с числом — округление. В JavaScript существуют целых 3 функции для этого.
toString(система счисления)Как показано выше, числа можно записывать не только в 10-чной, но и в 16-ричной системе. Но бывает и противоположная задача: получить 16-ричное предст
function isNumeric(n) { return !isNaN(parseFloat(n)) && isFinite(n); }Разберёмся, как она работает. Начнём справа.
Проверка на число для всех типовЕсли вам нужна действительно точная проверка на число, которая не считает числом строку из пробелов, логические и специальные значения — используйте с
Если вы хотите быть уверенным, что число, начинающееся с нуля, будет интерпретировано верно — используйте второй необязательный аргумент parseInt — осalert( parseInt('010', 10) ); // во всех браузерах 10
Ошибка parseInt('0..')parseInt (но не parseFloat) понимает 16-ричную систему счисления: alert( parseInt('0xFF') ) // 255 В старом стандарте JavaScript он умел понимать и
Конечно, существуют ситуации, когда parseInt/parseFloat возвращают NaN. Это происходит при ошибке на первом же символе:alert( parseInt('a123') ); // NaN
alert( parseFloat('12.3.4') )// 12.3, ошибка на второй точке
alert( parseInt('12px') )// 12, ошибка на символе 'p'
parseInt и ее аналог parseFloat преобразуют строку символ за символом, пока это возможно.При возникновении ошибки возвращается число, которое получилось. parseInt читает из строки целое число, а parseFloat — дробное.
Для удобного чтения таких значений существует функция parseInt:alert( parseInt('12px') ); // 12
Оператор '+' для таких значений возвратит NaN:alert( +"12px" ) // NaN
Мягкое преобразование: parseInt и parseFloatВ мире HTML/CSS многие значения не являются в точности числами. Например, метрики CSS: 10pt или -12px.
И, конечно же, проверка isNaN посчитает числами значения false, true, null, т.к. они хотя и не числа, но преобразуются к ним:+false = 0 +true = 1 +null = 0 +undefined = NaN;
Единственный тонкий момент — в том, что пустая строка и строка из пробельных символов преобразуются к 0:alert(isNaN(" \n\n ")) // false, т.к. строка из пробелов преобразуется к 0
Функция isNaN является математической, она преобразует аргумент в число, а затем проверяет, NaN это или нет.var x = "-11.5"; if (isNaN(x)) { alert("Строка преобразовалась в NaN. Не число"); } else { alert("Число"); }
Аналогичным образом происходит преобразование и в других математических операторах и функциях:alert( '12.34' / "-2" ); // -6.17
Единственное исключение — пробельные символы в начале и в конце строки, которые игнорируются:alert( +" -12"); // -12 alert( +" \n34 \n"); // 34, перевод строки \n является пробельным символом alert( +"" ); // 0, пустая строка становитс
Строгое — означает, что если строка не является в точности числом, то результат будет NaN:alert( +"12test" ); // NaN
Преобразование к числуvar s = "12.34"; alert( +s ); // 12.34
Преобразование к числуСтрогое преобразование можно осуществить унарным плюсом '+'
isFinite(n)Функция isFinite(n) возвращает true только тогда, когда n — обычное число, а не одно из этих значений: alert( isFinite(1) ); // true alert( isFinite(
isFinite(n)Итак, в JavaScript есть обычные числа и три специальных числовых значения: NaN, Infinity и -Infinity.
Значение NaN можно проверить специальной функцией isNaN(n), которая возвращает true если аргумент — NaN и false для любого другого значения.var n = 0/0; alert( isNaN(n) ); // true
Следующий код ничего не выведет:if (NaN == NaN) alert("=="); // Ни один вызов if (NaN === NaN) alert("==="); // не сработает
Значение NaN используется для обозначения математической ошибки и обладает следующими свойствами:Значение NaN — единственное, в своем роде, которое не равно ничему, включая себя.
Например, деление 0/0 в математическом смысле неопределено, поэтому возвращает NaN:alert( 0 / 0 ); // NaN
NaNЕсли математическая операция не может быть совершена, то возвращается специальное значение NaN (Not-A-Number).
Бесконечность можно присвоить и в явном виде: var x = Infinity.Бывает и минус бесконечность -Infinity: alert( -1 / 0 ); // -Infinity
Infinity — особенное численное значение, которое ведет себя в точности как математическая бесконечность ?.Infinity больше любого числа. Добавление к бесконечности не меняет её. alert(Infinity > 1234567890); // true alert(Infinity + 5 == Infinity); // tr
Деление на ноль, InfinityПредставьте, что вы собираетесь создать новый язык… Люди будут называть его «JavaScript» (или LiveScript… неважно). Что должно происходить при попытке
Если количество нулей отрицательно, то число сдвигается вправо за десятичную точку, так что получается десятичная дробь:// здесь 3 сдвинуто 5 раз вправо, за десятичную точку. alert( 3e-5 ); // 0.00003 <-- 5 нулей, включая начальный ноль
Также доступна запись в «научном формате» (ещё говорят «запись с плавающей точкой»), который выглядит как <число>e<кол-во нулей>.Например, 1e3 — это 1 с 3 нулями, то есть 1000. // еще пример научной формы: 3 с 5 нулями alert( 3e5 ); // 300000
Способы записиalert( 0xFF ); // 255 в шестнадцатиричной системе alert( 010 ); // 8 в восьмиричной системе
X
пароль