在dotnet中,按照特定文化方式格式化货币的推荐方法(据我所知)是:
这会返回:
然而,此处未指定具体货币。因此,如果英国将来转换为欧元,同样的方法将会返回类似以下结果:
这刚刚发生在拉脱维亚。今年,它转换成了欧元。各种系统都包含拉脱维亚拉特和欧元的金额。我需要能够仍然打印和格式化旧货币。而且我需要确保新货币也可以处理。这种格式化不仅仅涉及符号,还涉及其位置(前面、后面、带或不带空格)和本地数字格式(小数分隔符和千位分隔符)。
我们数据库中的每个金额都有一种货币(例如EUR)和相应的文化(例如nl-NL)。欧元金额的格式化方式取决于它们是来自我们的德国办事处还是荷兰办事处。(它们都使用欧元,但会以不同的方式格式化金额)
using System.Globalization
var info = CultureInfo.GetCultureInfo("en-GB")
return string.Format(info, "{0:c}", 1234.5678)
这会返回:
£1,234.57
然而,此处未指定具体货币。因此,如果英国将来转换为欧元,同样的方法将会返回类似以下结果:
€ 1,234.57
这刚刚发生在拉脱维亚。今年,它转换成了欧元。各种系统都包含拉脱维亚拉特和欧元的金额。我需要能够仍然打印和格式化旧货币。而且我需要确保新货币也可以处理。这种格式化不仅仅涉及符号,还涉及其位置(前面、后面、带或不带空格)和本地数字格式(小数分隔符和千位分隔符)。
我们数据库中的每个金额都有一种货币(例如EUR)和相应的文化(例如nl-NL)。欧元金额的格式化方式取决于它们是来自我们的德国办事处还是荷兰办事处。(它们都使用欧元,但会以不同的方式格式化金额)
- dotnet提供访问旧货币的方法吗?
- 编写格式化金额的未来可行方法是什么?