作者: 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