假设我有一个字符串lile "168.255157"
,当我使用ConvertToDouble(str)时返回的值是168255157而不是168.255157;
为什么?
答案 0 :(得分:2)
您机器上的文化可能不会将小数分隔符视为'。'但是','。试试这个:
Convert.ToDouble("168.255157", CultureInfo.InvariantCulture);
编辑:我确认当我使用错误的分隔符时,我的机器上发生了这种情况。这样:
Convert.ToDouble("168,255157", CultureInfo.InvariantCulture);
也返回168255157.0。在解析字符串时,您应该始终牢记您正在使用的文化。