![]() |
Redondear en Builder c++
Tengo un float, y quiero que se quede en 2 decimales. He visto muchos codigos hechos para delphi, pero todos usan la funcion round, o trunc, pero yo no la tengo en mi builder c++ 3. Alguien puede ayudarme...
Gracias, Antonio |
Usa las funciones
modf(x, &y); // parte entera y fraccionaria del numero y pow10(x); // elevas la potencia al numero. Yo lo hago asin, aunque hay muchas mas formas. /******************************************************** * METODO: redondeoDec() * * * * Redondea un n£mero fraccionario. * *********************************************************/ double redondeoDec(double numero, int dec) { double entera, fraccionaria, fraccion; fraccionaria = modf(numero, &entera); fraccion = redondeo (fraccionaria * pow10(dec)); return(entera+(fraccion/pow10(dec))); } /* End redondeo() *** **************************/ |
muchas gracias...
Algo de eso estaba pensando hacer, pero tu codigo me ha ahorrado mucho tiempo de pensar :confused:. 2 cosas que me gustaria comentarte a ver si tu sabes algo. Para redondear uso la funcion Ceil...supongo k no habra ningun problema con ella no?, y lo 2º es pq al usar el float, no funciona eso de quedarte solo con 2 decimales, solo con double?
Gracias, Antonio |
Cita:
lo unico fraccionaria = modf(numero, &entera); fraccionaria = modl(numero, &entera); Pero insisto que no es necesario. Lo de Ceil, te puede servir, como dije antes, casi cada programador se ha creado su propia funcion para redondear, yo uso esta que es la misma que usaba antes que existiese builder como tal, y no me he preocupado en cambiarla. |
La franja horaria es GMT +2. Ahora son las 09:32:33. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi