具有正确输入的Double.Parse(“string”)FormatException

时间:2014-04-22 07:04:07

标签: c# parsing

我正在尝试解析

Double.Parse(rowData[j++]).

输入刺痛是正确的(“7,412”),j = 123所以它一直工作到这一点。所有数字都用“,”写成。

如果我在观看它的情况下输入Double.Parse(rowData[j]),那就更多了。

这里有什么问题?

2 个答案:

答案 0 :(得分:0)

您有逗号而不是小数点分隔符。

http://msdn.microsoft.com/en-us/library/3s27fasw

如果那是千位分隔符

,您应该使用AllowThousands NumberType
NumberStyles styles = NumberStyles.AllowThousands | NumberStyles.Float;
Double.Parse(value, styles);

或者您应该在解析前使用.替换逗号string.Replace,如果这被认为是小数点分隔符

答案 1 :(得分:0)

根据MSDN,您可以尝试:

value = "4,320.64";
styles = NumberStyles.AllowThousands |
            NumberStyles.Float; 
number = Double.Parse(value, styles);