保存小数点后两位不用四舍五入

保留小数点后两位不用四舍五入
我想只保留double 的小数点后两位,不要四舍五入。
((int)(dtemp *100))/100.0;这样的话考虑到int范围可能会溢出。
谁有好的办法。

------解决方案--------------------
浮点数这么做没意义。
------解决方案--------------------
printf("%.2f" ,dtemp); ?
------解决方案--------------------
#include <math.h>
double d;
d=floor(d*100.0)/100.0;

------解决方案--------------------
引用:
printf("%.2f" ,dtemp); ?

这样是带四舍五入的。
//Round(1.234,2) = 1.23
//Round(1.234,0) = 1.0
//Round(123.4,-1) = 120.0
double 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);
}