perl で小数計算の誤差をなんとかする方法
2015-01-22-2
[Programming][Tips]
仕方ないっちゃ仕方ないのですが、小数の計算で誤差が出ます。
これは大丈夫。
しかしこうなると誤差が出る。
対処方法はいろいろあるのですが、一番簡単そうなのは printf を使う方法。
参考:
これは大丈夫。
% 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
この記事に言及しているこのブログ内の記事