.NET Microsoft Reporting始终在Windows 8.1中使用逗号对数字进行格式化

时间:2014-08-20 09:39:38

标签: .net windows-8.1 comma

我开发了一个使用Microsoft Reporting的.NET应用程序。它在Windows XP,Vista,Windows 7和Windows 8上运行了5年没有任何问题。由于Microsoft发布了Windows 8.1,问题是我的报告中的所有数字都将使用逗号而不是用户当前的区域设置进行格式化。 / p>

我尝试了很多方法来解决问题:

  • 在rdlc-Report模板中将Language-Property显式设置为“de-CH” - >这种文化使用“。”格式化数字
  • 在rdlc-Report模板中的表格单元格中使用“String.Format(IFormatProvider,Value) - >提供”de-CH“格式提供程序
  • 为ReportViewer 10.0(Visual Studio 2010)和11.0(Visual Studio 2012)尝试了不同版本的程序集
  • 将Windows 8.1系统设置中的格式设置为“Deutsch(Schweiz)”,对应“de-CH”

有人有同样的问题吗? Windows 8.1中是否有一个设置覆盖了我的小数点分隔符? 如上所述:在Window 8.0下,它运行时没有任何问题!

2 个答案:

答案 0 :(得分:1)

解决方案:使用Microsoft的Locale Builder 2.0覆盖当前的" de-CH"设置。

Locale Builder 2.0

答案 1 :(得分:0)

是的,这是Windows 8.1中的一个已知问题:de-CH语言环境的-6 + 7 = 1错误。

为避免必须从Microsoft的Locale Builder向我的所有客户发送自定义de-CH,我通过明确设置NumberDecimalSeparator来解决此问题:     

NumberDecimalSeparator

不是很优雅,但很有效。