18-10-2018 10:39

Функции PHP: округление в меньшую сторону

Математические функции являются обязательной составляющей любого языка программирования. Но это не означает, что при выполнении операций над числами необходимо ими пользоваться именно так, как предусмотрел разработчик языка. На PHP округление в меньшую сторону можно выполнить через строчные функции.

Необходимость и варианты округления

Причины для округления чисел могут быть самые разные. Самая востребованная - формирование численных атрибутов для стилей и правил CSS.

Lua-скрипты: примеры, как установить и запуститьВам будет интересно:Lua-скрипты: примеры, как установить и запустить

При создании современных сайтов требование динамичности - обязательно. Требование адаптивности - желательно. Это означает, что перерасчет размеров картинок, тегов и других составляющих каркаса сайта необходимо делать на сервере еще при формировании страницы.

Базовые варианты округления в любом языке ограничиваются тремя функциями: математическое, в меньшую или большую сторону.

На PHP программирование также располагает тремя функциями для операций округления: round(), floor() и ceil().

Программирование (в общем смысле) предлагает умножать исходное число на степень числа 10 (10, 100, 1000, 10000 и т. д.) для выполнения функции округления в нужной позиции числа. В отношении функции round() это свойство не имеет значения (у нее есть необязательный второй параметр, которым можно определить позицию округления).

Пример округления чисел в PHP

В данном примере приведено классическое округление одного и того же числа всеми тремя базовыми функциями и предложен вариант округления, который допускает строчная семантика языка. Число - это тоже строка символов. Просто ее алфавит ограничен десятью цифрами, точкой и знаками "+" и "-". Если рассматривать экспоненциальное представление, то там еще есть буква E.

В отношении первого числа (1) значение round() совпадает с ceil(), в отношении второго числа (2) совпадают результаты round() и floor(). Идеальное PHP округление в меньшую сторону предлагает вариант (3).

Строчное округление числа - это идея разбить число на две составляющие по точке. Результат - массив. Первый элемент - целая часть числа, второй элемент - дробная. Если точки нет, то нет второго элемента. Можно даже не проверять.

Для чисел в экспоненциальной форме представления эта идея не годится, но основная забота программирования - обрабатывать информацию. PHP округление числа в меньшую сторону более востребовано, чем математическое или в большую сторону. Применить explode() - красиво и практично.



Источник