作者: KAWAI,Takanori | |
日時: 2005/10/8(18:32) |
川合孝典です。 > 初めまして、最近良くPerlを使っていますが、数値計算結果をINT関数で > 少数点以下を切り捨てると、マイナス1となる問題が起きています。 浮動小数点で計算したための誤差のせいってことのようですね。 > 金額計算なのでマイナス1でも、許されない状況です。 > このような端数が出ない方法は、どの様な書き方をすれば、 > よろしいでしょうか。何方かお教え下さい。 bignumを使ってみるとか... [スクリプト] use bignum; $a = 200; $b = 1053.5900; $c = $a * $b; $d = int($c); $e = $c - $d; print " $c : $d : $e \n"; [実行結果] 210718 : 210718 : 0