在.NET应用程序中获取通用货币符号而不是$

时间:2011-07-27 18:28:08

标签: vb.net currency-formatting

在我们的VB .NET应用程序中,我们使用“c0”和“c2”格式字符串来显示所有地方的货币值。

最近,用户遇到的问题是这些货币值没有正确显示$符号,但带有一些奇怪的符号¤。通过维基百科,我发现它是通用货币符号:http://en.wikipedia.org/wiki/Currency_(typography)

我已经看到问题发生在我的机器ONCE上,并且从那时起就无法重新创建它。当我重新启动应用程序时它就消失了。事实上,一旦我看到问题,我就开始了另一个应用程序实例,但$ sign在第二个实例中表现良好。

我很感激有关如何解决这个奇怪问题的任何见解。

2 个答案:

答案 0 :(得分:1)

我们终于抓住了这个问题一直发生的构建。

原来,我们使用RedGate SQL Compare来比较和更新用户的数据库,这是RedGate中的一个错误,它将Globalization.CultureInfo.CurrentCulture从“en-US”改为“”。这反过来又将Globalization.CultureInfor.CurrentCulture.NumberFormat.CurrencySymbol更改为通用符号¤。

我仍然不清楚为什么问题发生在一些数据库而不是其他数据库,但我们当然找到了解决方法。

RedGate问题已在此论坛主题中找到:http://www.red-gate.com/messageboard/viewtopic.php?t=10864并且自March 2011 release

以来已修复

答案 1 :(得分:0)

在使用格式字符串之前,您可能需要显式设置格式设置。