PHP / 2. Числа

В повседневной жизни идентифицировать число не трудно. Это и текущее время (например, 15:00), и $1.29 (цена какого-нибудь товара). Это может быть число π, равное отношению длины окружности к ее диаметру. Числа могут быть достаточно большими, например число Авогадро, равное примерно 6×1023. В PHP числа могут представлять все, что здесь было перечислено.

Однако PHP не трактует все эти числа как «числа», а делит их на две группы: целые и числа с плавающей точкой. Целые – это целые числа, такие как –4, 0, 5 и 1 975. Числа с плавающей точкой – это десятичные числа, такие как −1,23; 0,0; 3,14159 и 9,9999999999. Удобно, что в основном PHP сам отслеживает различия между этими двумя типами данных и автоматически преобразует целые в числа с плавающей точкой, а числа с плавающей точкой – в целые. Это с легкостью позволяет игнорировать скрытые детали. Это также означает, что 3/2 равно 1.5, а не 1, как это было бы в некоторых языках программирования. PHP также автоматически конвертирует строки в числа и обратно. Например, 1+"1" равно 2.
Статьи раздела '2. Числа':
Взятие логарифмов
Задача Необходимо взять логарифм числа. Решение Для логарифмов по основанию e (натуральный логарифм) применяется функция log(): $log = log(10); // 2.30258092994 Логарифмы по основанию 10 вычисляются при помощи...
Вычисление степеней
Задача Необходимо возвести число в степень. Решение Число e возводится в степень при помощи функции exp(): $exp = exp(2); // 7.3890560989307 Для возведения числа в произвольную степень предназначена функция pow()...
Вычисление тригонометрических функций
Задача Необходимо применить тригонометрические функции, такие как синус, косинус и тангенс. Решение В PHP реализованы тригонометрические функции sin(), cos() и tan(): $cos = cos(2.1232); А также обратные им функции asin...
Вычисления с не десятичными числами
Задача Необходимо выполнить математические операции не над десятичными числами, а над восьмеричными или шестнадцатеричными. Например, определить корректные цвета веб-сайта в шестнадцатеричном формате. Решение Предваряйте числ...
Генерация случайных чисел в пределах диапазона
Задача Необходимо сгенерировать случайное число в пределах числового диапазона. Решение Для этого предназначена функция mt_rand(): // случайное число между $upper и $lower, включительно $random_number = mt_rand($lower, $u...
Генерация случайных чисел со смещением
Задача Необходимо генерировать случайные числа, но с некоторым смещением, чтобы в определенном диапазоне числа появлялись чаще, чем в других. Например, нужно показать серию копий рекламных баннеров пропорционально количеству оста...
Округление чисел с плавающей точкой
Задача Необходимо округлить число с плавающей точкой или до целого значения, или до некоторого количества десятичных знаков. Решение Для того чтобы округлить число до ближайшего целого, предназначена функция round(): $numb...
Правильная печать слов во множественном числе
Задача Необходимо правильно выбрать число – единственное или множественное – в зависимости от значения переменной. Например, вы возвращаете текст, который зависит от количества совпадений, найденных при поиске. Решение Это де...
Преобразование из одной системы счисления в другую
Задача Необходимо преобразовать число из одной системы счисления в другую. Решение Обратитесь к функции base_convert(): $hex = 'a1'; // шестнадцатеричное число (основание 16) // преобразование из основани...
Проверка правильности записи числа в строке
Задача Вы хотите быть уверенным, что строка содержит число. Например, требуется проверить правильность возраста, введенного пользователем в поле ввода формы. Решение Обратитесь к функции is_numeric(): if (is_numeric('five')...
Работа с очень большими и очень маленькими числами
Задача Необходимо работать с числами, выходящими из дапазона допустимых в PHP значений чисел с плавающей точкой. Решение Для этого нужна либо библиотека BCMath, либо библиотека GMP. Применение BCMath: $sum = bcadd('1234567...
Работа с последовательностью целых чисел
Задача Требуется применить некоторый код к диапазону целых чисел. Решение Это делается при помощи функции range(), которая возвращает массив, состоящий из целых чисел: foreach(range($start,$end) as $i) { plot_point($...
Сравнение чисел с плавающей точкой
Задача Необходимо проверить равенство двух чисел с плавающей точкой. Решение Задайте малую дельту и проверьте числа на равенство в пределах этой дельты: $delta = 0.00001; $a = 1.00000001; $b = 1.00000000; if (abs($a - $...
Форматирование чисел
Задача Необходимо напечатать число с разделителями тысяч и десятков тысяч. Например, нужно вывести стоимость покупок в магазинной тележке. Решение Функция number_format() позволяет вывести число в формате целого: $number =...

Страницы: 1