すいません、今度は Perl 5.005_03 の話です ;;; 経理システムで、 ・単価はドル建てだが、セント未満の端数がありうる (1個につき 0.001 ドルとか) ・個数は「個」だが、1個未満の端数がありうる (0.1 個とか) という条件で、単価x個数=売上を、 小数点以下第3位で切り捨て(小数点以下第2位まで)で求めよ、 という問題で 「100倍して int して100で割る」ということをしていました。 #! perl $tanka = 10000.88; # ドル $kosuu = 1; # 個 $uriage100 = $tanka * $kosuu * 100; # 売上の 100 倍 print "uriage x 100 = $uriage100\n"; $uriage = int($uriage100)/100; print "uriage = $uriage\n"; しかしこうすると、int(1000088) は 10000088 になるので、 uriage x 100 = 1000088 uriage = 10000.87 となります。もっとも手軽な回避方法はなんでしょうか。 もしお分かりでしたらご教示ください。 |