使用瑞典语作为操作系统的主要语言...
在 dotNET 4.0 的 C# 应用程序中,当我使用“G”格式和表示无效数字 ( NaN ) 的 double 上的当前区域性调用“ToString”时,生成的字符串不是预期的“NaN” 。相反,我得到一个包含三个 U+00A4 实例的字符串 (“¤¤¤”)。
我知道瑞典语中的术语可能不是“NaN”(尽管当操作系统设置为 Deutschland-German 时,字符串是“NaN”),但是这个 Unicode 字符的三元组似乎不太像在任何语言中表示“不是数字”含义的有用方法。
有人能给我解释一下吗?
最佳答案
这似乎是一个错误。如果您打印代表每种文化的 NaN
的所有字符串的列表,您会看到除瑞典语之外的每种语言在各自的语言中都有“NaN”或其他有意义的描述:
foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.AllCultures))
{
Console.WriteLine(String.Format("{0}:\t {1}", ci, double.NaN.ToString("g", ci)));
}
关于c# - 为什么 'NaN' 在 Sverige-Swedish CLR 4.0 中的奇怪表示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47082984/