|
すいません、お騒がせしております ;;; 100 で掛けたり、割ったりしているのは、 int を使いたかったからで、 sprintf を使っている以上、必要ないですね。 (切り捨ての場合) while (<DATA>) { chomp; $tanka = $_; # ドル print "tanka = $tanka "; $tanka -= 0.005; # 切り捨てたいから $kosuu = 1; # 個 $uriage = sprintf "%.2f", $tanka * $kosuu; print "uriage = $uriage\n"; } 四捨五入の場合は 0.005 を引くのをやめるとか。 |
|
だめでした ;;; sprintf "%.2f", $a; に、$a に 10000.005 を渡すと、10000.00 になります。 (環境に依存しまくるかな。FreeBSD 2.2.8_Release、Perl 5.005_03) しょうがないので . で split して、、いろいろしようと思います ;;; ちなみに 68User さん、BCD というのはモジュールありますか? CPAN で検索したら EBCDIC_convert なんとかというのしか 見つかりませんでした ;;; |
|
一人で駄投稿を繰り返して大変申し訳ありません。 けっきょく 100 倍して 0.5 を足して 100 で割る形式に戻し、 変数をすべて Math::BigFloat にしました。 なんとなくできているような気がしますが、 これぐらいの時間帯になってくると 「いったい何ができてるってことなのか」わからなくなってくるので ;;; 明日また考えます。X68000 さん、名無しさん、ありがとうございました。 何かありましたらよろしくお願いします。 |
|
家に帰って思ったけど dc コマンドを `` で囲んでもよかったかも ;;; |