元组列表<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
时,它都会使用它来确定要使用的分隔符。
您可以将区域/文化设置更改为美国英语。您会看到小数分隔符是您期望的那样。如果你不想要这个,就不用担心了。
情况:我有一个元组列表,其中添加了一个元组:
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
时,它都会使用它来确定要使用的分隔符。
您可以将区域/文化设置更改为美国英语。您会看到小数分隔符是您期望的那样。如果你不想要这个,就不用担心了。