|
>小数第3位を四捨五入の仕方が分かりません。
こんな関数を作るというのはどうよ?
ちなみに、小数点第三位を四捨五入するなら、
round( val, 2 );
と言う具合に呼び出せば OK。
#include <stdio.h>
#include <stdlib.h>
/* ************************************************************
関数名【 round() 】
丸め処理関数
処理概要
浮動小数点数を指定された精度で丸めた値を返す
引数
1) val = 丸めたい値
2) precision = 精度
戻り値
指定精度で丸めた値
************************************************************ */
double round( double val, int precision )
{
/* ***** 内部変数定義 ***** */
double ret;
char buf[256] = {'\0'};
char *p;
/* ***** 丸めを行い文字列に変換 ***** */
sprintf( buf, "%.*f", precision, val );
/* ***** 文字列から数値に再変換 ***** */
ret = strtod( buf, &p );
return ret;
}
|