馬とテニスのIT革命
馬とテニスとリラックマが好きな IT 系のエンジニアです。
エンジニア

Perlの丸め処理(切捨て・切り上げ・四捨五入)

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

あわせて読みたい
PHPの丸め処理(切捨て・切り上げ・四捨五入)PHP を使っていて、数値を切り上げたい場面に遭遇。 もちろん PHP にも数値を丸める関数は揃っています。 整数へ丸める ...

今回は同じことを Perl で実現してみようと思います。

と言っても、Perl はテキスト加工処理で少し使った程度の知識しかないので調べつつ挑戦です。

標準関数には存在しない

Perl の標準関数としては四捨五入などの丸め処理は用意されていないようですが、Math::Round などライブラリはあるようです。

ただ、まずは Perl 標準でどこまでできるかを調べてみます。

いくつかのサイトを確認したところ、整数値への丸めは int() を使うのが定番なようです。

int()の使い方

例えば int の引数に 3.14 を渡すと 3 が返ってきます。

整数に丸める際に小数点以下は切り捨てられるようです。

よって四捨五入をするには、この原理を応用して 0.5 を足してから整数値に丸めることで目的が果たせます。

[切捨て]
$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 で割ってから繰り上げ処理をすればこの方法で条件は満たせます。

Web API The Good Parts

オライリーの「Web API」に特化した本です。最近の多くの Web サービスは API が活用されていますが、その技術はこれまでの Web サイトとそれほど大きく変わりません。

今後、マイクロサービス化が進む中で知っておいて損はない内容が詰め込まれており、現場のエンジニアやこれから Web 系のエンジニアを目指す人にもオススメの一冊です。

created by Rinker
¥2,376
(2018/10/14 13:40:00時点 Amazon調べ-詳細)

あなたにオススメ