Как в Perl округлить число до ближайшего целого в меньшую сторону

Задача. В Perl программе есть переменная в которой находится число. Необходимо округлить его до ближайшего целого в меньшую сторону. Т.е. в случае неотрицательного числа это означает что нужно просто отрезать всю дробную часть.

Вот несколько примеров значений. Все эти числа должны превратиться в число 10:

  • 10
  • 10.001
  • 10.4
  • 10.5
  • 10.99

Решение — использовать функцию floor

Самый лучший способ решить эту задачу — это использовать функцию floor из библиотеки POSIX.

Библиотека POSIX идет вместе с Perl, так что если у вас есть Perl, то эта библиотека сразу доступна, дополнительно устанавливать ничего не нужно.

Вот пример программы:

▶ Run
#!/usr/bin/perl

use POSIX;

my $number = 10.3;

print floor($number);

Программа выведет на экран число 10.

  • use POSIX; — подключили библиотеку POSIX. Как только мы подключили эту библиотеку нам сразу стало доступно несколько функций, которые определены в этой библиотеке.
  • my $number = 10.3; — создали переменную $number и поместили туда число 10.3.
  • print floor($number); — Использовали функцию floor и вывели на экран результат ее работы.

Функция floor (с английского языка это слово переводится как "пол") достаточно стандартна. Во многих языках программирования есть функция с таким же названием и которая работает точно так же.

Кроме функции floor еще есть функция ceil ("потолок"), которая округляет число до ближайшего целого в большую сторону.

Работа в случае отрицательных чисел

Функция floor для отрицательных чисел работает точно так же как для положительных чисел — округляет число до ближайшего целого в меньшую сторону.

Все эти числа при использовании функции floor превратятся в число -6:

  • -5.1
  • -5.5
  • -5.9
  • -6

Связанные темы

Другие статьи

Комментарии