.NET 货币指数 ISO_4217

Posted

技术标签:

【中文标题】.NET 货币指数 ISO_4217【英文标题】:.NET Currency exponent ISO_4217 【发布时间】:2009-03-12 11:30:35 【问题描述】:

我正在开发一些供国际使用的东西。想知道是否有人可以阐明 CultureInfo 类是否支持查找特定国家的货币指数,或者我是否需要在数据库级别输入这些数据。

我目前看不到任何代表此的属性,所以如果有人确切知道它是否存在,在我寻找它/从 ISO 购买它之前。

货币指数是货币的次要单位。

http://en.wikipedia.org/wiki/ISO_4217 - 例如英国是“2”

【问题讨论】:

【参考方案1】:

看看这个blog post on getting CultureInfo for a region。基本上,Window 和 .NET 知道用户所在的地区,但不知道他们的货币。一个地区意味着一种货币,但一个国家可以拥有的不仅仅是货币。例如,柬埔寨的人很可能更愿意输入和使用美元而不是瑞尔。如果可能,在多币种系统中捕获任何货币金额时,您应该捕获货币 ISO 代码。

如果您只是想快速猜测一下,您可以创建一个 CultureInfo 对象并使用它的 NumberDecimalDigits 属性。当国家转换货币时,这也会产生问题。例如,如果白俄罗斯加入欧盟,那么它的货币将从 BYR 变为 EUR。它的货币符号和指数将过时。

【讨论】:

【参考方案2】:

我查看了这个问题并在此处提供了一个可能满足也可能不满足您需求的解决方案:http://www.codeproject.com/KB/recipes/MoneyTypeForCLR.aspx#CurrencyType

简而言之:我将 ISO 规范实现为自定义类型,使用规范本身来生成值。显然,这需要在生产中定期更新......

【讨论】:

以上是关于.NET 货币指数 ISO_4217的主要内容,如果未能解决你的问题,请参考以下文章

JavaMoney规范(JSR 354)与对应实现解读

从数据库中选择多个货币代码的最新汇率的最佳方式

sql 具有iso代码,拨号代码,货币名称,货币符号和货币代码的国家/地区列表

世界货币查找表 - 使用 ISO 3166-1 alpha-2 代码?

AIMS欧力集团:货币对技术指数分析

标准普尔首次推出比特币和以太坊指数,对加密货币市场意味着什么