| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Kyo Invitado
|
Publicado: Sab 07 May, 2005 11:26 am Asunto: float y redondeos |
|
|
Hola a todos,
Cuando hago calculos sobre facturas como base imponible + IVA, descuentos, IRPF... en algunas ocasiones me descuadran los totales con las sumas parciales, es decir, Total factura = Bases + IVA + ....
en 1 centimo.
Me gustaria saber si hay hay alguna forma de proceder (metodos numericos?) para controlar este problema ?
Muchas gracias |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Lun 09 May, 2005 2:53 pm Asunto: |
|
|
Que tal, te recomiendo que le des una checadita a estas funciones
StrToFloat, FloatToStrF, CurrToStr, StrToCurr.
Espero que te sirva de algo. _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
ElCangri Cdt

Registrado: 20 May 2005Mensajes: 19Ubicación: bolivia
|
Publicado: Jue 26 May, 2005 6:06 pm Asunto: Redondeo en c++ builder |
|
|
hola estoy haciendo un aplicacion, para resolver lo metodos numericos
y necesito una funcion que me redondee una cantidad decimal en 6 decimales o manejarlos mi gusto ya se en 6,5,4,3 decimales, la verdad que no encuentro ninguna funcion que me haga esta tarea,!!!!por favor alguien me ayude!!!!! acc_77@hotmail.com _________________ Retroceder Nunca....Rendirse Jamas!!!! |
|
| Volver arriba |
|
 |
sisabb Lt JG

Registrado: 07 Ago 2003Mensajes: 71
|
Publicado: Vie 27 May, 2005 7:46 am Asunto: |
|
|
| Si no quereis tener problemas en lugar de operar con float, utilizar double. |
|
| Volver arriba |
|
 |
Cerúleo Master


Registrado: 04 Ago 2003Mensajes: 332Ubicación: Santander, España
|
Publicado: Vie 27 May, 2005 12:09 pm Asunto: |
|
|
Hola ElCangri.
Una posible solución es la siguiente función (supongo que se podrá perfeccionar): | Código: | double RedondeaNDecimales(double Num,int N){
double aux=pow(10,N);
return (double)(ceil(Num*aux))/aux;
} | Espero que te sirva.
Un saludo a todos y buen fin de semana. _________________ Nunca digas "Es imposible" sin intentarlo antes. |
|
| Volver arriba |
|
 |
|