0

我正在构建一个允许用户以不同货币格式输入值的应用程序。

我最初的想法是将数据保存为以下格式。

  • 金额 - 字符串
  • 货币 - 具有 ISO 4217 货币代码的字符串,例如 GBP、USD、RUB

这种设计是个好主意还是应该用于金额字段、整数、小数或浮点类型?

我不确定不同样式的格式将如何影响存储。

4

2 回答 2

3

我的投票是:

为什么要使用 FK 参考和货币表?然后,您可以将更多信息与每种货币一起存储(例如相关文化或格式信息),并在必要时添加一个包含汇率的附加表,以便您可以将所有内容添加到一种基础货币中。

此外,现在存储很便宜。


笔记:

  • 我不会用一个字符串来表示金额,因为你不能添加它们并且你不能(很容易地)按它们订购。您还会丢失金额确实是数字的内置验证。

  • 我也不会选择浮动金额,因为货币金额应该是准确的。您不想对每个结果进行四舍五入来显示它;如果你在错误的方向上偏离了一分钱怎么办?

于 2013-01-22T16:31:54.810 回答
1

我选择十进制,但这可能取决于“金额”的应用。

  • 这可能有助于理解浮点数和小数之间的差异:

浮点数和十进制数据类型之间的区别

于 2013-01-22T16:38:08.223 回答