** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Diferencia suma decimales
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoDiferencia suma decimales

 Responder Responder
Autor
Mensaje
Sherezade81 Ver desplegable
Habitual
Habitual


Unido: 14/Septiembre/2011
Localización: España
Estado: Sin conexión
Puntos: 124
Enlace directo a este mensaje Tema: Diferencia suma decimales
    Enviado: 16/Agosto/2025 a las 13:22
Buenas tardes, 
Tengo problemas con la suma de decimales. en unos sitios me redondea sin yo pedirlo y en otros no. He leído que es mejor poner formato Moneda y 4 decimales en vez de Euro. Lo cambio en el formato tanto de la tabla origen como en los informes, y en la suma total , fuerzo el redondeo con la fórmula: 
Public Function Redondea(Numero As Double, decimales) As Double
Redondea = Sgn(Numero) * Fix(Abs(Numero) * (10 ^ (decimales)) + 0.5) / (10 ^ (decimales))
End Function
El  caso es que no lo consigo, en unos me sale redondeado en el informe (cuya consulta sql he forzado tambien la conversión a Moneda :  FORMAT(PORTESTOTAL, "CURRENCY") AS PORTESTOTALMONEDA, que si, me salen 4 decimales pero redondeado ya (vamos 136.0400 en vez de 136.0368, y y en el formulario, me sale correcto, con los 4 decimales sin redondear
Vuelvo a mirar el formato... y aunque lo he cambiado a moneda.... me vuelve a poner EURO!!
¿Alguien sabe a qué puede ser debido? Por más que leo sobre problemas similares nada!
Gracias, 
Saludos
Bea

Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 14428
Enlace directo a este mensaje Enviado: 16/Agosto/2025 a las 15:43
Hola,

Una cosa es el tipo de campo de campo y otra el formato del mismo. 

Mi consejo es que los campos de importes (y en todos aquellos que el número de decimales significativos sea cuatro o menor) utilices el tipo Currency.

El tipo Double (o el Single) hace alguna tontería con decimales muy a la derecha de la mantisa.

Los números es una buena práctica redondearlos antes de guardarlos, si el proceso te lo permite. 

Yo los campos de importes, a menos que el cliente me lo pida, los guardo ya redondeados a dos decimales.

Un saludo.




Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
Sherezade81 Ver desplegable
Habitual
Habitual


Unido: 14/Septiembre/2011
Localización: España
Estado: Sin conexión
Puntos: 124
Enlace directo a este mensaje Enviado: 17/Agosto/2025 a las 15:49
Buenas, muchas gracias Mihura, en una consulta puse la fórmula del redondeo y ya me coinciden los resultados. Pueden cerrar el hilo. Gracias de nuevo!!
saludos

Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable