读书人

C语言Double类型数据怎么只保留小

发布时间: 2012-08-03 00:12:14 作者: rapoo

C语言,Double类型数据,如何只保留小数点后6位?
如题,double类型数据0.97724961480591 ,如何保留小数点后6位数字,变成0.977249 ?

[解决办法]
double b = ( ( int )( a * 1000000 + 0.5 ) ) / 1000000.0;
[解决办法]
double a=0.97724961480591;

printf("%.6f",a);
[解决办法]

C/C++ code
//Round(1.234,2) = 1.23//Round(1.234,0) = 1.0//Round(123.4,-1) = 120.0double Round(double dVal, short iPlaces) {    double dRetval;    double dMod = 0.0000001;    if (dVal<0.0) dMod=-0.0000001;    dRetval=dVal;    dRetval+=(5.0/pow(10.0,iPlaces+1.0));    dRetval*=pow(10.0,iPlaces);    dRetval=floor(dRetval+dMod);    dRetval/=pow(10.0,iPlaces);    return(dRetval);}double round(double dVal, short iPlaces) //iPlaces>=0{    unsigned char s[20];    double dRetval;    sprintf(s,"%.*lf",iPlaces,dVal);    sscanf(s,"%lf",&dRetval);    return (dRetval);} 

读书人网 >C语言

热点推荐