1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
#include <math.h>
double Roundn(double dValue,int nDecimales)
{
double ad[6]={1.,10.,100.,1000.,10000.,100000.};
if (nDecimales<0 || dValue==0.) return(dValue);
double dSeuil =(dValue<0.?-.5:.5);
double dPrec=0.;
if(nDecimales>=0 && nDecimales<=5) dPrec=ad[nDecimales];
else
{
dPrec=ad[5];
for(int i=1;i<nDecimales-4;i++) dPrec*=10.;
dPrec=floor(dPrec);
}
double dCalc = (((dValue*dPrec)+dSeuil));
if(dValue<0.)
return(ceil(dCalc)/dPrec);
else
return(floor(dCalc)/dPrec);
}
d=Roundn(1.1235,3); // donne 1.124 |
Partager