Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Problemas con redondeo de decimales

Estas en el tema de Problemas con redondeo de decimales en el foro de Bases de Datos General en Foros del Web. Estoy haciendo un formulario para captura de facturas. Cada producto que compone la factura va en un registro con el nombre del producto, cantidad de ...
  #1 (permalink)  
Antiguo 13/01/2005, 13:07
 
Fecha de Ingreso: enero-2005
Mensajes: 2
Antigüedad: 19 años, 10 meses
Puntos: 0
Problemas con redondeo de decimales

Estoy haciendo un formulario para captura de facturas. Cada producto que compone la factura va en un registro con el nombre del producto, cantidad de artículos, precio por unidad y subtotal. El subtotal lo cargo mediante un evento después de actualizar (after update) y con una simple fórmula CargaSubtotal=round([Cantidad]*[Precio],2). CargaSubtotal es una variable tipo "Single". Hasta allí todo bien, me carga el número redondeado a dos decimales.
El problema es que la suma total (suma de los subtotales) la hago en un campo calculado cuya propiedad "origen del control" es =nz(suma([subtotal])) y aunque éste valor proviene de los valores subtotales que ya están redondeados a dos dígitos no sé de donde me vuelve a sacar los decimales que me aparecerían en un campo sin redondear el valor. Es más, si cargo por ejemplo 224.99*1 me despliega 224.99000053764 ¿De donde saca los demás decimales? ME ESTOY VOLVIENDO LOCO
Lo de menos sería volver a redondear éste último valor pero no siempre da exactamente lo mismo y por ley en México se tienen que redondear todos los calculos a dos dígitos desde los subtotales.
Por favor ayúdenme porque me urge entregar ésto
Muchísimas gracias

Última edición por Aaron; 13/01/2005 a las 14:10
  #2 (permalink)  
Antiguo 13/01/2005, 16:03
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 6 meses
Puntos: 25
Ten en cuenta que el tipo Single es un tipo de datos APROXIMADO, esto es que el redondear muchas veces no será posible.

Procura utilizar los tipos MONEY, DECIMAL o cualquiera basado en caracteres, que aunque es mas lento su manejo, tienes la exactitud necesaria.

No dices en que parte haces esa operacion, pero cuando lo he necesitado, el lenguaje de programacion ha podido hacer ese redondeo (y dejo que la DB mande numeros reales); o bien, manejo el tipo de datos exacto como te comento desde la DB y me despreocupo del lado de la aplicacion.

Suerte
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 14:17.