【问题标题】:What is the best layer to use to format Currency numbers?用于格式化货币数字的最佳层是什么?
【发布时间】:2010-10-23 13:59:08
【问题描述】:

我在前端使用 Javascript,C# 作为中间层,Oracle 9i 作为 DB。

将具有 2 位小数精度的数字格式化为货币时,最佳做法是什么?在这三个层中应该首选哪些层?

请记住,用户将能够在应用程序的几个屏幕上编辑这些金额。

【问题讨论】:

  • 也许你已经知道了,但所有货币都不使用 2 位小数。它从 0 到 3 不等(甚至可能是 4 - 我不确定)。例如,日元不使用小数。当我不得不将货币数据存储在数据库中时,我选择了可​​以准确存储 4 位小数的数据类型。
  • 谢谢。然后我想将货币类型存储在数据库中也会很有用。因此,如果我们使用值/键(数量/符号)对,我们可以使用中间层进行转换,或者在表示层上使用大量脚本。

标签: c# javascript format currency oracle9i


【解决方案1】:

我会说尽可能贴近用户。反正不在数据库中,因为数据库不会知道用户的语言环境。

更新:在进行货币格式化时请注意,您向用户显示的信息实际上是正确的。货币格式与货币换算不同...

【讨论】:

    【解决方案2】:

    小数点的存储精度可以高于 2 位数字。既然你提到了 C# 和 Javascript,我可以假设你正在使用 ASP.NET 作为你的前端。

    货币的显示必须在您的 ASP.NET 代码中处理,以根据用户的区域设置/文化信息显示它。

    对于您的网格视图和其他显示控件,在 C# 中,您可以使用字符串格式选项:{0:c} 以正确的符号和 2 个小数位显示货币。

    【讨论】:

      【解决方案3】:

      如果您想对数据执行任何数学运算,最好在 Javascript 中进行格式化并添加货币符号。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-14
        • 2021-04-06
        • 1970-01-01
        • 2016-04-19
        • 1970-01-01
        • 2017-03-23
        • 1970-01-01
        • 2015-07-26
        相关资源
        最近更新 更多