round — Округляет число с плавающей точкой
round: Округляет число с плавающей точкой. Контекст: расширение или раздел math. Различительные признаки: round; обязательные $num; необязательные $precision, $mode; результат float; задача «операция round»; профиль «контракт PHP».
Материал подготовлен автоматизированно по структурным фактам и прошёл программные шлюзы качества; индивидуальная ручная редактура каждой страницы не заявляется. Методика подготовки и ограничения.
float round(int|float $num, int $precision = 0, int|RoundingMode $mode = RoundingMode::HalfAwayFromZero)Назначение round
round: Округляет число с плавающей точкой. Справочная сущность относится к разделу «math». Используйте её, когда это краткое назначение совпадает с задачей приложения; фактическое поведение подтверждайте сигнатурой и проверочным сценарием ниже.
Чем отличается round
Это процедурная функция раздела «math». Её отличают имя round, контракт «обязательные $num; необязательные $precision, $mode» и объявленный результат float; эти три признака нужно сверять вместе при выборе похожего API.
Смысловое направление round
Смысловое направление round — «операция round». В прикладном коде свяжите вызов round с одним явно сформулированным результатом прикладного сценария. Контрольный набор для этой операции: проверьте штатное выполнение, граничное состояние и документированный отказ. Такой акцент отделяет round от API с похожей сигнатурой, но противоположным действием или другим жизненным циклом.
Сигнатура round
Структурная запись: float round(int|float $num, int $precision = 0, int|RoundingMode $mode = RoundingMode::HalfAwayFromZero). В ней 3 параметра: обязательные $num; необязательные $precision, $mode. Результат объявлен как float; перед переносом кода сопоставьте сигнатуру с версией PHP и составом расширений проекта.
Параметры round
Порядок и роли аргументов по сигнатуре: 1. $num — int|float, обязателен; 2. $precision — int, необязателен, default 0; 3. $mode — int|RoundingMode, необязателен, default RoundingMode::HalfAwayFromZero.
Контроль входных данных для round
1) int|float $num — обязательный: проверьте минимальное, типичное и предельное числовое значение без неявного преобразования строки. 2) int $precision — необязательный: проверьте минимальное, типичное и предельное числовое значение без неявного преобразования строки. 3) int|RoundingMode $mode — необязательный: перечислите разрешённые значения и отдельно проверьте конфликтующую комбинацию.
Результат round
round объявляет результат типа float. Числовой результат round имеет тип float. Не назначайте специальный смысл нулю или отрицательному значению, пока он не следует из документированного контракта.
Проверочный сценарий для round
Убедитесь, что раздел «math» доступен в целевой сборке PHP. Сначала выполните контрольный вызов с обязательным набором int|float $num. Затем отдельно добавьте необязательные параметры int $precision=0, int|RoundingMode $mode=RoundingMode::HalfAwayFromZero, чтобы увидеть влияние значений по умолчанию. Для профиля «контракт PHP» важно зафиксировать предусловия вызова и не подавлять диагностические сообщения; негативный сценарий должен проверить штатный результат, граничный вход и документированный отказ.
Интеграция round в проект
Проверку доступности round и преобразование входных значений разместите у границы модуля «math». Для профиля «контракт PHP» вынесите обработку отказа в одну ветку и добавьте к журналу имя операции, версию PHP и безопасные метаданные входа. Не применяйте оператор @: он скрывает диагностический сигнал, необходимый для разбора сбоя. Повторный вызов разрешайте только после явной проверки, что операция round не создаёт нежелательный повторный эффект в вашем сценарии.
Диагностика round
Сначала запишите точную сигнатуру float round(int|float $num, int $precision = 0, int|RoundingMode $mode = RoundingMode::HalfAwayFromZero) и фактические типы переданных значений. Затем подтвердите загрузку расширения «math» в той же среде, где выполняется round. Документация описывает ошибочный исход: отделите его от корректного пустого значения строгой проверкой и сохраните исходную диагностику. После исправления повторите штатный и граничный сценарии, чтобы исключить маскировку ошибки случайным успешным результатом.
Границы применения
Для категории «контракт PHP» применяйте отдельный негативный тест: проверить штатный результат, граничный вход и документированный отказ. В production-коде важно зафиксировать предусловия вызова и не подавлять диагностические сообщения. Исходные предупреждения и примечания не копируются на эту страницу: перед решением, влияющим на совместимость или безопасность, сверяйте поведение в целевой версии PHP.
Когда выбирать round
Выбор round оправдан, когда одновременно выполнены три условия: 1) в сборке доступно расширение «math»; 2) сигнатура содержит 3 аргумента: обязательных 1, необязательных 2; 3) вызывающему коду нужен результат float и действие «операция round». Для профиля «контракт PHP» до интеграции отдельно подтвердите применимость правила: «undefined». Если хотя бы один пункт не выполняется, сравните контракт с ceil: у него другое назначение, владелец или набор входных данных.
Сравнение round с соседними API
Для round базовый ориентир: округляет число с плавающей точкой; обязательные $num; необязательные $precision, $mode; результат float. Сопоставление с опубликованными соседями: ceil: округляет дробное число в бо́льшую сторону; вход — обязательные $num; результат — float. floor: округляет дробное число в меньшую сторону; вход — обязательные $num; результат — float. number_format: форматирует число с группировкой классов многозначного числа; вход — обязательные $num; необязательные $decimals, $decimal_separator, $thousands_separator; результат — string. Выбор делайте по различиям владельца, контракта и жизненного цикла, а не по сходству имени.
Версии и ограничения
В структурной истории исходной записи отмечены версии: 8.4.0, 8.0.0. round сверена по закреплённой ревизии php/doc-ru. Перед обновлением PHP повторите тесты типов, предупреждений и граничных значений для этой сущности. Не переносите выводы между версиями без повторного запуска минимального воспроизводимого примера для round.
Связанные материалы
Источники и проверка
- PHP Documentation Group — структурный источник, без внешней ссылки
- creativecommons.org — условия лицензии
Страница составлена самостоятельно по структурным фактам: имени сущности, сигнатуре, типам и версии. Длинные фрагменты исходной документации не публикуются. Структурный источник: PHP Documentation Group / php-doc-ru, ревизия 5192f2d8cd6b6f28961ac2ff7f9bd5266c666972, лицензия CC BY 3.0 или более поздняя. Структура и практические пояснения изменены; проект не является официальным сайтом PHP.
Последняя содержательная проверка: . Автор-разработчик Михаил Каржин. Методика качества контента.