[過去ログ]
Perlについての質問箱 64箱目 (1002レス)
Perlについての質問箱 64箱目 http://mevius.5ch.net/test/read.cgi/tech/1548981877/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
111: デフォルトの名無しさん [] 2019/11/06(水) 01:45:01.50 ID:yvB3xxPc 消費税計算(10%)しようとしました。税込550円を消費税と本体価格にする。 $a = 550; $b = 1.1; $c = $a / $b; $d = $a - $c; $e = int($c); $f = int ($d); print すると、 $c は 500 $d は 50.000000000001(0の数はだいたい) $e は 499 $d は 50 とうやら550 / 1.1 が内部的に割り切れていない様子(おそらく実際は内部的に499.99999999999999になってるのでintすると499に) ロジックの変更で回避したけど、このバグ聞いたことありますか? http://mevius.5ch.net/test/read.cgi/tech/1548981877/111
118: デフォルトの名無しさん [] 2019/11/06(水) 10:08:35.95 ID:yvB3xxPc >>112 >>113 >>114 >>117 仕様で他の言語でもあるのですね。Perlで明示的な型指定とかはほぼ考えたことが無かった(1.08の時は意図した結果が得られていた)ので、勉強してみます。 ありがとうございます。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/118
121: デフォルトの名無しさん [] 2019/11/06(水) 18:58:09.30 ID:yvB3xxPc >>111 一応、取った対応策です(消費税計算なので精度は不要) 除算解は有効桁数以下が切り捨てになり表示などで見える値以下になると想定しました $a = 550; $b = 1.1; $c = ; $tax= int($a - $a / $b); # $tax = 50 $net = $a - $tax; # $net = 500 端数を残したまま税込から除算解を引いてintして税とし、税込から税を引いて本体としました とりあえず期待した結果は得られています ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/121
122: デフォルトの名無しさん [] 2019/11/06(水) 18:59:08.05 ID:yvB3xxPc $c = ; この行余計でした http://mevius.5ch.net/test/read.cgi/tech/1548981877/122
125: デフォルトの名無しさん [] 2019/11/06(水) 20:39:05.70 ID:yvB3xxPc >>124 うちは税込ものを分離する時は消費税側で小数点以下切り捨てなのでOKなのです 四捨五入とか会計方針によっては稀に問題が出るかもしれませんね http://mevius.5ch.net/test/read.cgi/tech/1548981877/125
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.041s