Windows文化设置:撇号与右单引号

时间:2018-01-29 10:06:51

标签: c# .net cultureinfo

突然之间,我的机器上的某些测试变为红色并且显示消息:Input string was not in a correct format.

这些测试需要一堆数字和字符串,并将它们与给定的文化进行比较(例如"de-CH"):

[TestCase(12345.67, "12'345.67", "de-CH")]
[TestCase("12'345.67", 12345.67, "de-CH")]
[TestCase(-12345, "-12'345", "de-CH")]

我们发现,我们需要将撇号(参见12 ' 345)更改为“右单引号”以再次将测试变为绿色:

Unicode character                   Oct     Dec     Hex     HTML
'   apostrophe                      047     39      0x0027  '
’   right single quotation mark     020031  8217    0x2019  ’

所以他们现在看起来像这样,我的机器喜欢它。

[TestCase(12345.67, "12’345.67", "de-CH")]
[TestCase("12’345.67", 12345.67, "de-CH")]
[TestCase(-12345, "-12’345", "de-CH")]

不幸的是,它是我们办公室里唯一的一个。

我可以想象,这与Windows Fall Creators Update [1709]有关,几天前应用于我的机器,而不是我的同事。

有没有人知道瑞士的默认Windows设置是否确实更改了,或者他们是否将分隔符从撇号更改为右单引号?

1 个答案:

答案 0 :(得分:0)

尝试改变" sThousand"直接来自注册表 提示:这个即将到来的代码行IN vb.net:

Microsoft.Win32.Registry.SetValue(" HKEY_CURRENT_USER \ Control Panel \ International"," sThousand",",")