Математические функции являются обязательной составляющей любого языка программирования. Но это не означает, что при выполнении операций над числами необходимо ими пользоваться именно так, как предусмотрел разработчик языка. На PHP округление в меньшую сторону можно выполнить через строчные функции.
Необходимость и варианты округления
Причины для округления чисел могут быть самые разные. Самая востребованная - формирование численных атрибутов для стилей и правил CSS.
Вам будет интересно:Lua-скрипты: примеры, как установить и запустить
При создании современных сайтов требование динамичности - обязательно. Требование адаптивности - желательно. Это означает, что перерасчет размеров картинок, тегов и других составляющих каркаса сайта необходимо делать на сервере еще при формировании страницы.
Базовые варианты округления в любом языке ограничиваются тремя функциями: математическое, в меньшую или большую сторону.
На PHP программирование также располагает тремя функциями для операций округления: round(), floor() и ceil().
Программирование (в общем смысле) предлагает умножать исходное число на степень числа 10 (10, 100, 1000, 10000 и т. д.) для выполнения функции округления в нужной позиции числа. В отношении функции round() это свойство не имеет значения (у нее есть необязательный второй параметр, которым можно определить позицию округления).
Пример округления чисел в PHP
В данном примере приведено классическое округление одного и того же числа всеми тремя базовыми функциями и предложен вариант округления, который допускает строчная семантика языка. Число - это тоже строка символов. Просто ее алфавит ограничен десятью цифрами, точкой и знаками "+" и "-". Если рассматривать экспоненциальное представление, то там еще есть буква E.
В отношении первого числа (1) значение round() совпадает с ceil(), в отношении второго числа (2) совпадают результаты round() и floor(). Идеальное PHP округление в меньшую сторону предлагает вариант (3).
Строчное округление числа - это идея разбить число на две составляющие по точке. Результат - массив. Первый элемент - целая часть числа, второй элемент - дробная. Если точки нет, то нет второго элемента. Можно даже не проверять.
Для чисел в экспоненциальной форме представления эта идея не годится, но основная забота программирования - обрабатывать информацию. PHP округление числа в меньшую сторону более востребовано, чем математическое или в большую сторону. Применить explode() - красиво и практично.