2010年8月6日金曜日

C言語で四捨五入

意外に標準関数では提供されていなかったC言語での四捨五入関数です。 小技として覚えておくと便利です。

#include <stdio.h>
#include <math.h>

double hm_round(double dValue, int iPoint){

int dIntval;
double dRetval;

dIntval = (int)( 0.5 + dValue * pow(10, -iPoint - 1));
dRetval = dIntval * pow(10, iPoint + 1);

return dRetval;
}


int main(void){

double o,c;

printf("実数o を入力してください:");
scanf("%lf", &o);

c = hm_round( o, -3);

printf("この数を小数点以下第3 位で四捨五入した数は%lgです\n",c);

return 0;
}

0 件のコメント:

コメントを投稿