ここから本文です

解決済みの質問

VC++なんですが、入力した値の近似値を表示させたいときは、どういう考え方でプ...

godmurtonさん

VC++なんですが、入力した値の近似値を表示させたいときは、どういう考え方でプログラムを組めばいいでしょうか?
簡潔でいいのでプログラムを載せてもらえれば嬉しいです。

補足
たとえば1000と2000があって1700と入力したら2000が表示させるようにしたいです。

違反報告

ベストアンサーに選ばれた回答

hijiri_shibanoさん

四捨五入ですか?

四捨五入の場合、よく利用するのは

0.5

を足して、端数を切り捨てます

桁を変える場合は、一度 10のn乗をかけたり、割ったりして揃えます

double d = 2.345 を 少数第2位で、四捨五入する場合

(double)( (int)(d * 100 + 0.5) ) / 100

といった感じです

0.5 を変えれば、切り上げ、切り下げも可能です


[補足後]

1000と2000で、100の位を四捨五入するなら

int n = 1700;
int a = ((n + 500) / 1000) * 1000;

500 を足すことで1500以上であれば2000台になります
そのあと1000で割ります。
すると、C言語では、小数点は切り捨てられますので、その後1000を掛けます
1700+500=2200
2200/1000=2.2 → 2(小数点切り捨て)
2*1000=2000

仮に
1499なら
1499+500=1999
1999/1000=1.999 → 少数切り捨てで、1
1*1000=1000

よって1500なら2000になり、1499なら、1000となります

  • 違反報告
  • 編集日時:2012/2/17 15:11:37
  • 回答日時:2012/2/16 23:32:59

質問した人からのコメント

  • 降参ありがとうございます!参考にしてがんばりますm(--)m
  • コメント日時:2012/2/21 15:35:50

グレード

この質問・回答は役に立ちましたか?
役に立った!

お役立ち度:お役立ち度 0点(5点満点中)0人が役に立つと評価しています。

知恵ノートとは?

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。

お客様自身の責任と判断で、ご利用ください。

話題のキーワード

[カテゴリ:C言語関連]

ただいまの回答者

01時40分現在

2324
人が回答!!

1時間以内に4,240件の回答が寄せられています。

>>回答ひろばに行く


知恵コレに追加する

閉じる

知恵コレクションをするID/ニックネームを選択し、「追加する」ボタンを押してください。
※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する