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);
[解决办法]
//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);}