Bu soruya daha önce defalarca sorulmuştur, ancak konuyla ilgili birbiriyle çelişen fikirler buldum, bu yüzden daha birleşik bir sonucun umuduyla onu tekrar gündeme getireceğimi düşündüm.MySQL veritabanında para birimi değerlerini kaydetme
Veritabanımda bir para birimi değeri depolamak istiyorum. Tüm girişlerin aynı tür para birimi olduğunu (örneğin USD) ve hem olumlu hem de negatif değerlere izin verileceğini varsayalım.
İlk düşüncem, değeri ilişkili para biriminin en küçük birimi cinsinden imzalı bir tamsayı olarak saklamaktı. Örneğin, $ 1.25 değerini saklamak istersem, veritabanının en küçük birimi 0,01 dolar olduğu için veri tabanına 125
eklerim. Bu yöntemle ilgili güzel şey, MySQL'in otomatik olarak en yakın tam sayıya yuvarlanmasıdır. Örneğin, dolar değeri 1,259 dolarsa, 125.9
ekleyebilir ve bu sayede otomatik olarak 126
veya 1.26 $ olarak kaydedilebilir.
Peki, sizce ne düşünüyorsunuz? Bu sağlam bir yaklaşım mı yoksa daha iyi bir yolu var mı?
'Ondalık (s, s)' http://dev.mysql.com/doc/refman/5.5/en/fixed-point-types.html – DavidO
Ah, bu çok daha mantıklıdır. Ardından, sayıyı görüntülemeden önce 100 ile bölmeye gerek yoktur. Teşekkürler! –