Esta pregunta se ha hecho muchas veces antes, pero he encontrado opiniones contradictorias sobre el tema, así que pensé en volver a plantearla con la esperanza de obtener una conclusión más unificada.Almacenamiento de valores de moneda en la base de datos MySQL
Me gustaría almacenar un valor de moneda en mi base de datos. Supongamos que todas las entradas son del mismo tipo de moneda (USD por ejemplo) y que se permiten tanto valores positivos como negativos.
Mi idea inicial era almacenar el valor como un entero con signo en términos de la unidad más pequeña de la moneda asociada. Por ejemplo, si deseo almacenar el valor $ 1.25, insertaría 125
en la base de datos, ya que la unidad más pequeña de USD es $ 0.01. Lo bueno de este método es que MySQL redondeará automáticamente al entero más cercano. Por ejemplo, si el valor en dólares es $ 1.259, podría insertar 125.9
, que se redondearía automáticamente y se almacenaría como 126
o $ 1.26.
Entonces, ¿qué opinas? ¿Es este un enfoque sensato o hay una mejor manera?
DECIMAL (p, s) 'http://dev.mysql.com/doc/refman/5.5/en/fixed-point-types.html – DavidO
Ah, que tiene mucho más sentido. Entonces no hay necesidad de dividir por 100 antes de mostrar el número. ¡Gracias! –