使用货币时的最佳做法

时间:2011-08-17 18:51:20

标签: c# currency sqldatatypes

我正在研究可能在全球范围内部署的桌面应用程序。国际化的最大问题是货币。几个问题:

我正在使用支持MONEY类型的SQL Server Compact Edition。我的第一个问题是,无论用户的文化如何,它都能处理数据存储吗?

我的第二个问题是数据处理。我知道我可以使用“C”格式字符串,我想这可以显示,但是在保存时如何处理用户输入的值?是否有一种标准的方法来解析输入的值并将其保存到MONEY字段,所有这些都是文化感知的,而不必为任何类型的异常编写?

我正在使用WPF中的C#,但我猜这可能是一个接近通用的解决方案。

1 个答案:

答案 0 :(得分:5)

MONEY类型只是告诉系统使用正确处理货币计算所需的精度和舍入规则。它对实际货币一无所知。您需要在UI和货币转换规则中处理它。

框架使用当前文化显示货币字符串格式的正确货币符号,但如果您显示不同的货币,则需要覆盖此行为。

使用C#/ WPF(和Silverlight)如果您在XAML中使用StringFormat输出货币,那么它也会处理用户输入(或者至少根据我的经验)。