数値の切り上げを行う - Perl

小数点以下の数値が出た際に、切り上げ処理を行いたい。 Perlでは切り捨てはint $float といった形で行えるが、切り上げ用の関数が用意されていない(っぽい)。

POSIXモジュールを使用するか、次のような関数を用意しておくと重宝する。 ceil関数を定義し、これを呼び出せば良い。

サンプル

print ceil(5.0),   "\n";
print ceil(5.1),   "\n";
print ceil(5.555), "\n";

#-------------------------------------------#
#切り上げ
#-------------------------------------------#
sub ceil {
  my $num = shift;
  my $val = 0;

  $val = 1 if($num > 0 and $num != int($num));
  return int($num + $val);
}

実行結果

5
6
6

もしくは、冒頭であげたPOSIXモジュールを使用する方法もある。こちらも結果は同じである。

use POSIX;

print ceil(5.0), "\n";
print ceil(5.1), "\n";
print ceil(5.555), "\n";