2015年3月5日木曜日

【Perl】Perlでは16桁以上の小数は丸められてしまうようだ

Perlでは合計16桁以上の小数は丸められてしまうようだ。以下、いろいろ試した結果、最後の桁の数値が5では切り捨て、6では切り上げになるようだ。

$ perl -e '
> $tmp = 100.9999999999999;
> print $tmp."\n";
> '
101

$ perl -e '                   
$tmp = 100.999999999999;
print $tmp."\n";
'
100.999999999999

$ perl -e '
$tmp = 1000.999999999999;
print $tmp."\n";
'
1001

$ perl -e '
$tmp = 1000.99999999999;
print $tmp."\n";
'
1000.99999999999

$ perl -e '
$tmp = 1000.999999999995;
print $tmp."\n";
'
1000.99999999999

$ perl -e '
$tmp = 1000.999999999996;
print $tmp."\n";
'
1001