以前、「PHPの丸め処理(切捨て・切り上げ・四捨五入)」で PHP の丸め処理について紹介しました。

C#の丸め処理(切捨て・切り上げ・四捨五入)以前、PHP で「PHPの丸め処理(切捨て・切り上げ・四捨五入)」を調べていたので、ついでに C# ではどうなのか確認してみました。
h...
今回は同じことを Perl で実現してみようと思います。
と言っても、Perl はテキスト加工処理で少し使った程度の知識しかないので調べつつ挑戦です。
標準関数には存在しない
Perl の標準関数としては四捨五入などの丸め処理は用意されていないようですが、Math::Round などライブラリはあるようです。
ただ、まずは Perl 標準でどこまでできるかを調べてみます。
いくつかのサイトを確認したところ、整数値への丸めは int() を使うのが定番なようです。
int()の使い方
例えば int の引数に 3.14 を渡すと 3 が返ってきます。
整数に丸める際に小数点以下は切り捨てられるようです。
よって四捨五入をするには、この原理を応用して 0.5 を足してから整数値に丸めることで目的が果たせます。
1 2 3 4 5 6 7 | [切捨て] $kirisute = int(3.14); $kiriage = int(3.14 + 1); $sishagonyu = int(3.14 + 0.5); print $kirisute; # 3 print $kiriage; # 4 print $sishagonyu; # 3 |
円周率の 3.14 を利用したのでサンプル的にはいまいちでしたが、結果としては上記の通りとなります。
小数点第 2 位などは、100 で割ってから繰り上げ処理をすればこの方法で条件は満たせます。