【发布时间】:2019-11-12 22:40:00
【问题描述】:
当 selenium 在我的本地计算机上测试 .net 核心应用程序时,我注意到我的百分比字符串 (.ToString("p2")) 在数字和 % 之间没有显示空格,这与我们测试服务器的页面不同。经过一番研究,我的 Windows 10 盒子上的文化信息似乎已经发生了某种变化。有谁知道如何将其重置为默认值?还是更改设置?
get-culture
LCID Name DisplayName
---- ---- -----------
1033 en-US English (United States)
(get-culture).NumberFormat
CurrencyDecimalDigits : 2
CurrencyDecimalSeparator : .
IsReadOnly : True
CurrencyGroupSizes : {3}
NumberGroupSizes : {3}
PercentGroupSizes : {3}
CurrencyGroupSeparator : ,
CurrencySymbol : $
NaNSymbol : NaN
CurrencyNegativePattern : 0
NumberNegativePattern : 1
PercentPositivePattern : 1
PercentNegativePattern : 1
NegativeInfinitySymbol : -∞
NegativeSign : -
NumberDecimalDigits : 2
NumberDecimalSeparator : .
NumberGroupSeparator : ,
CurrencyPositivePattern : 0
PositiveInfinitySymbol : ∞
PositiveSign : +
PercentDecimalDigits : 2
PercentDecimalSeparator : .
PercentGroupSeparator : ,
PercentSymbol : %
PerMilleSymbol : ‰
NativeDigits : {0, 1, 2, 3…}
DigitSubstitution : None
PercentPositivePattern 和 PercentNegativePattern 设置为 1 而不是 0。此外,当其他框显示为 false 时,IsReadOnly 似乎为 true。
检查了我的地区信息。一切看起来都是正确的。
【问题讨论】:
-
你为什么要这个空间?如果您尝试在服务器和本地计算机之间交换数据并发现它们没有正确解析,那么您应该使用 InvariantCulture。特定于文化的格式会随着时间而改变。
-
我们正在为我们当前的项目设置自动化测试。其中一项测试是检查以确认某些历史数据已正确加载并正确显示在历史查找页面上。可能应该解析页面数据并使用正确的数据类型进行比较,而不是比较字符串。 (代码是由一个新员工编写的,到目前为止,我一直在努力改进框架而不是单独测试。)
标签: windows powershell cultureinfo