c# - 为什么 'NaN' 在 Sverige-Swedish CLR 4.0 中的奇怪表示?

标签 c# unicode nan

使用瑞典语作为操作系统的主要语言...

在 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/

相关文章:

c# - 具有值类型和对象类型依赖关系的 IoC

c++ - 无法使用 UNICODE 读取文件(存在)

powershell - 如何让 Get-ChildItem 处理带有不间断空格的路径

javascript - 返回 "[object Object] NaN"- Javascript

python - 删除行(即用 NaN 填充)并在 Pandas Dataframe 中进行插值

c# - C# 的最佳图像压缩

c# - 在 SQL CE 数据库上的 Entity Framework 中使用 DateDiff

c# - GetHashCode() 虚拟实现(如果不需要)

Python 3.x 请求使用 unicode 字符进行重定向

python - 在 Python 中计算 numpy ndarray 中非 NaN 元素的数量