c# - 使用货币的最佳实践

标签 c# currency sqldatatypes

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

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

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

我在 WPF 中使用 C#,但我猜测可能有一个近乎通用的解决方案来解决所有这些问题。

最佳答案

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

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

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

关于c# - 使用货币的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7097899/

相关文章:

c# - NUnit 使用备用构造函数执行

c# - 为什么在 IL 代码中找不到委托(delegate)的 Invoke 方法体?

javascript - jQuery 删除除数字和小数以外的所有字符

java - 为什么从Executors实用程序类返回的ExecutorService的execute()方法无法自然终止

mysql - 如何确定 MySQL Checksum 列的类型?

java - Hibernate5 - 将所有 VARCHAR(255) 更改为 TEXT 而不逐个字段映射?

c# - 在 Entity Framework Migration 中填写表格

c# - SQLite 最后插入 Rowid 不起作用

当我进入管理员时,Magento 货币符号 404

SQL Server 日期时间到 Oracle