使用瑞典语作为操作系统的主要语言.
在用于C# dotNET 4.0的应用程序中,当我使用"G“格式调用'ToString‘和表示无效数字( NaN )的双重上的当前区域性时,产生的字符串并不像预期的那样是"NaN”。相反,我得到了一个包含三个U+00A4实例的字符串(“”)。
据我所知,瑞典语中的术语可能不是"NaN“(尽管当操作系统被设置为Deutschland-德语时,字符串是"NaN”),但在任何语言中,这种三重奏的Unicode字符似乎并不是表示"not a number“含义的非常有用的方法。
有人能给我指点解释吗?
发布于 2017-11-02 19:24:58
这好像是个虫子。如果您打印了表示每种文化的NaN
的所有字符串的列表,则可以看到,除瑞典语以外的每种语言都在各自的langauge中有"NaN“或另一种有意义的描述:
foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.AllCultures))
{
Console.WriteLine(String.Format("{0}:\t {1}", ci, double.NaN.ToString("g", ci)));
}
https://stackoverflow.com/questions/47082984
复制相似问题