| 12
 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