最佳实践 - 格式化多种货币

17 c# currency regioninfo cultureinfo internationalization

下面列出的场景的最佳做法是什么?

我们有一个应用程序,我们想支持多种货币.该软件将尊重用户的区域设置和区域设置,以指示正确的数字格式,即$ 10,000.00或10.000,00₴等.

但是,我们希望能够根据货币ID(可能是三个字母的ISO4217代码)格式化不同的数字.我们的想法是使用每种货币在数据库中存储一个表,然后请求用户选择将使用的货币符号.然后,程序将根据区域设置/区域设置格式化所有数字,但将使用我们程序中定义的货币符号.

因此,给出以下数值和货币
10000 AUD
5989.34 USD
450 EUR

该计划将输出
$ 10,000.00
$ 5,989.34
€450.00

或者使用区域设置将数字格式化为#####,## $结果将是;
10000,00 $
5989,34 $
450,00€

尊重区域设置/区域编号格式但显示不同的货币,最佳做法是什么?

我希望这是有道理的.

使用的技术是c#.NET 2.0.

Rya*_*yan 7

我认为这个Q是一个非常明确的答案,你应该做什么

SO - 不显示文化的本机货币时的正确货币格式

这个Q有一个很好的答案如何在C#中做到这一点

SO - 货币格式


Iai*_*der 0

您可以将货币值存储为小数,然后在 UI 上附加货币符号。

Fowler 在此处讨论了企业应用程序架构模式中的货币模式:http://www.martinfowler.com/eaaCatalog/money.html