みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

intの挙動?

Perlのintをつかって整数化をしているのですが、すこし挙動がおかしいというか
正確な数値が出ませんので質問させていただきました。

$aaa = 21000*0.7;
$aaa = int($aaa);
print $aaa;

結果:14699
となります。

21000×0.7は14700のはずかと思いますが、なぜか14699になってしまいます。

どう考えてもわからなくなってきました。

どなたかご教授いただけませんでしょうか?

投稿日時 - 2012-05-15 14:03:23

QNo.7476912

すぐに回答ほしいです

質問者が選んだベストアンサー

>21000×0.7は14700のはずかと思いますが、なぜか14699になってしまいます。

浮動小数点の誤差…でしょう。
http://d.hatena.ne.jp/perlcodesample/20080828/1219924206
とか見てみるとよいかと。

21000×7÷10で計算してみてはどうですかね?

投稿日時 - 2012-05-15 14:35:55

お礼

早速のご連絡ありがとうございます。

21000×7÷10ですとうまくいきました。

小数点の誤差というものがあるということをはじめて知りました。

今後は一旦小数を整数に直してから最後に割るようにしてみます。

ありがとうございました。

投稿日時 - 2012-05-15 18:02:01

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問