Ver Mensaje Individual
  #7  
Antiguo 01-04-2010
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Reputación: 18
mcs Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Me explico:
En la base de datos puede haber la informacion colocada o guardada de la forma que sea, cuando uno necesita mostrar o hacer calculos con esa infromacion puede formatearla, darle forma, la que se quiera y usarla.
Hay muchas maneras de hacerlo.
Yo nunca he usado el tipo moneda, solo uso el numerico y esto lo hago para llebar los bancos, las facturas etc, etc. y es dinero lo que se representa.
Saludos
No me has entendido bien. Los datos no se guardan (o no se deberian guardar) igual cuando usamos el tipo Moneda (coma fija) o cuando se usa el tipo double (coma flotante).

En coma fija, si defines que el campo tiene 5 posiciones enteras y dos decimales, podemos guardar todos los números con dos decimales desde el 99999,99 hasta el -99999,99 (si es un campo con signo). Por el contrario, con coma flotante tenemos los mismos valores, pero hay algunos números que debido a la forma de guardar los valores no tienen representación en binario, como por ejemplo el 0,1 o el 0,01.

Por esto, desde tiempos "remotos", en COBOL siempre se ha usado para guardar los números decimales el formato BCD (o sea, el PIC 99999V99), no para optimización (ocupa mucho más un dato en formato BCD o coma fija que no en coma flotante), pero la precisión es exacta.

Este tipo de error, en cálculos científicos es aceptable, pero en aplicaciones contables no (no puede ser que en cada cálculo se pierda algún céntimo de euro, por ejemplo...)

Para más información, http://en.wikipedia.org/wiki/Floatin...uracy_problems

Saludos,

Marc
Responder Con Cita