【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※マルチポスト(多重投稿)は慎んで!

 詳しくはこちら



 本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール   掲示板2こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.20698

型変換
投稿者---atsushi(2005/04/20 15:50:17)


質問です。C++なんですけど、
この辺はあんまりC言語と変わらないと思うので、
質問させていただきます。

double a;
int b;
a = 100000.0;
b = a;
cout << b << endl; //bの値を表示させています。

この処理で、bに100000を代入したいのですが、
表示されるbの値が99999となってしまいます。
よかったら、原因と解決方法を教えていただけませんか?

Windows XP, Visual Studio.NET


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:型変換 20701 REE 2005/04/20 16:41:03


No.20701

Re:型変換
投稿者---REE(2005/04/20 16:41:03)


>double a;
>int b;
>a = 100000.0;
>b = a;
>cout << b << endl; //bの値を表示させています。
>
>この処理で、bに100000を代入したいのですが、
>表示されるbの値が99999となってしまいます。
>よかったら、原因と解決方法を教えていただけませんか?

原因は、浮動小数の誤差
解決方法は、四捨五入です。



この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧