what should ideally use store currency rate information in mysql database? should use:
- double
- decimal (10,4)
- float or
- something else?
currency rates decimal numbers 1.2362.
how precise need be? ask because problem may go beyond storage format of conversion factor. example, perhaps rules might keep factor n decimal places, perform multiplication (or division) m places, round. , "round" might "financial" -- 0.5 rounds up, instead of ieee-754, "round nearest even".
assuming can afford off 1 unit in last place (cents or centimes or whatever), use double
.
i assume won't storing more than, say, 100 conversion factors, fact double
occupies 8 bytes not issue. if recording conversion factors every minute past 10 years, rethink decision.
float
gives 6-7 significant digits (and takes 4 bytes); double
gives 16. 12345
, 123.45
, 0.00012345
each have 5 "significant" digits.
for currency, itself, think maximum number of decimal places currency today 4. is, decimal(nn, 4)
should suffice storing money.
however, not provide necessary rounding.
round(currency1 * factor, decimals)
where decimals
2 target currency of usd , euros (and many other currencies). pointed out above, may differ bank compute as 1 cent.
(would call "opinion based"? or better?)
Comments
Post a Comment