小数点のある数値リテラルを int すると小数点以下は切り捨てされる
 

 
$ perl -wl -e 'print int 1.98'
1
 

 
 
元の数に 0.5 を足してから int すれば結果四捨五入される
 

 
$ perl -wl -e 'print int 1.98 + 0.5'
2
 

 
が、他の人が見た時「?」となるし、複雑な計算の中にこれは組み込みたくないなぁと思う。
 
 
そこで、他の言語ではお馴染みの round関数が使えるようになるモジュールを入れて、
 

 
$ perl -M'Math::Round' -wl -e 'print round(1.98)'
2
 

 
とすると、何をやってるのか分かりやすくなってgood!
 
 
 

§1061 · Posted By · 12月 11, 2012 · Development · Tags: , , · [Print]