古い記事
ランダムジャンプ
新しい記事
仕方ないっちゃ仕方ないのですが、小数の計算で誤差が出ます。

これは大丈夫。
% perl -le 'print 0.3-0.1'
0.2

しかしこうなると誤差が出る。
% perl -le 'print 10.3-10.1'
0.200000000000001      

対処方法はいろいろあるのですが、一番簡単そうなのは printf を使う方法。
% perl -le '$v = sprintf "%0.1f", 10.3-10.1; print $v'
0.2

参考:
- プログラムでの小数計算で誤差を含んでしまう原因と解決方法 - ROUTE 3390
http://sasakure.hatenablog.com/entry/2013/01/06/005541
- 数値と誤差 - サンプルコードによるPerl入門 ~ 安定と信頼のPerlを学ぼう ~
http://d.hatena.ne.jp/perlcodesample/20080828/1219924206
- 小数の四捨五入と丸め誤差の話 - Perl初歩の初歩
http://blog.goo.ne.jp/_hal/e/5ad229ee154e16208368e05c3df837c2
この記事に言及しているこのブログ内の記事