【发布时间】:2011-10-19 00:15:46
【问题描述】:
只是想知道在 MySQL 数据库中存储货币值和符号的最佳方式是什么?
感谢浏览SO,我将我的金额存储为十进制 (19,2) 值 - 这很好 - 但我更关心货币符号(例如 €、£、$ 等),因为我想让最终用户在设置阶段设置自己的货币单位。我还想避免任何不确定性,目前设置为 utf8(双方)。
我目前的方法是将它们存储为HTML Numerical Codes,使用PHP ifelse 语句过滤输入。这是最好的方法吗?如果不是,那是什么?有没有必要?提前致谢!
【问题讨论】:
-
你也转换单位吗?如果是,则应在之后添加货币。还要始终确保将有关哪种货币的信息保存到数据库中(欧元、美元……)
-
澄清我的立场:我居住在爱尔兰,分为北方(£stg)和共和国(欧元)。该数据库适用于本地 Pony 集团,该集团将以两种货币收取会员费。他们可能还希望在未来跟踪其他货币的价值。在这方面,虽然他们可能将会员资格设置为(例如)50 欧元,但来自北方的人应该只需要支付 43.64 英镑。这就是为什么 bertzzie 提到国际化表让我很感兴趣的原因......
-
"来自北方的人应该只需要支付" 但是国际化表只会为您提供正确的货币符号,但不能帮助您转换金额。一种方法是使用一些货币转换网络服务,或者以当前需要的两种货币存储的静态金额。
-
@feeela 是的,我现在明白了——国际化库实际上只用于语言。我可能会处理每月甚至每两年更新一次的静态数字(在这种情况下,小数点的变化在很大程度上是无关紧要的)。
标签: php mysql currency currency-formatting