C# · 12月 27, 2021

c# – Double.TryParse()输入十进制分隔符与系统小数分隔符不同

我有一个源 XML,它使用一个点(“.”)作为小数分隔符,我在使用逗号(“,”)作为小数分隔符的系统上进行解析.

结果,0.7的值被解析为Double.TryParse或Double.Parse为7000000.

我有什么选择正确解析?其中之一是使用String.Replace(‘.’,’,’)的逗号替换源中的点,但我不认为我非常喜欢这个.

解决方法 XML标准对于日期和数字的格式等是明确的.这有助于确保XML是平台无关和可互操作的.看看使用 XmlConvert的xml数据. double value = XmlConvert.ToDouble(stringValue);