Page List

Search on the blog

2010年8月30日月曜日

四捨五入をしよう。

C言語、またはC++で四捨五入をするときどういったコードを書きますか?

無知な私はこんなヘタレコードを書きました。

  1. int main() {  
  2.  double x;  
  3.  int ret;  
  4.   
  5.  scanf("%lf", &x);  
  6.  ret = ((int)(x * 10) % 10 >= 5) ? (int)(x + 1) : (int)(x);  
  7.  printf("ret=%d\n", ret);  
  8.   
  9.  return 0;  
  10. }  

あーー、もう穴があったら入りたい。
これで行けますね。
  1. int main() {  
  2.  double x;  
  3.  int ret;  
  4.   
  5.  scanf("%lf", &x);  
  6.  ret = (int)(x + 0.5);  
  7.  printf("ret=%d\n", ret);  
  8.   
  9.  return 0;  
  10. }  
0.5足してintにキャスト、これで四捨五入できます。
はい、今日は以上。

0 件のコメント:

コメントを投稿