切り上げを行いたい (Perl, ceil)
小数点以下の数値が出た際に、切り上げ処理を行いたい。
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
6
6
もしくは、冒頭であげたPOSIXモジュールを使用する方法もある。こちらも結果は同じである。
use POSIX;
print ceil(5.0), "\n";
print ceil(5.1), "\n";
print ceil(5.555), "\n";
