元组列表<double,double>。逗号而不是双精度值中的点

List of tuple<double,double>. Comma instead of point in double values

情况:我有一个元组列表,其中添加了一个元组:

List<Tuple<double, double>> list = new List<Tuple<double, double>>();
list .Add(new Tuple<double, double>(2.2, 6.6));

一切似乎都还好。但是......在调试模式下,在我接下来看到的本地变量列表中:

[0] {(2,2, 6,6)}    System.Tuple<double,double>

顺便说一句,backword 动作效果很好:

double t = list[0].Item1;

我得到了:

t   2.2 double

也许这不是什么大问题,但让我很沮丧。

知道为什么吗?

因为调试器以本地(用户)国家格式显示数字,所以它显示为 2,2 和 6,6 而不是 2.2 和 6.6 。

我知道很多工作场所使用英文版的 OS 和 Visual Studio 所以不会有类似的问题:-) 这显然没有必要,因为你可以...

...在控制面板(国际设置)中更改十进制数字的格式。

那是因为您的本地文化设置将 , 作为小数点分隔符。每当 .NET 尝试将其解析为 string 时,它都会使用它来确定要使用的分隔符。

您可以将区域/文化设置更改为美国英语。您会看到小数分隔符是您期望的那样。如果你不想要这个,就不用担心了。