类型' System.FormatException'的未处理异常发生在mscorlib.dll中附加信息:输入字符串的格式不正确

时间:2017-06-08 00:29:28

标签: c# selenium-webdriver c#-3.0 facebook-c#-sdk

RegExp

enter image description here  即时无法计算数额的报酬金额

2 个答案:

答案 0 :(得分:0)

尝试本地化失败的位置。

取自msdn。

<强> 说明

使用ToDouble(String)方法相当于将值传递给Double.Parse(String)方法。通过使用当前线程文化的格式约定来解释值。

如果您希望在转换失败时不处理异常,则可以调用Double.TryParse方法。它返回一个布尔值,指示转换是成功还是失败。

在此处阅读更多内容:https://msdn.microsoft.com/en-us/library/zh1hkw6k(v=vs.110).aspx

答案 1 :(得分:0)

也许,在调用Convert.ToDouble(...)时尝试使用NumberFormatInfo。 我假设NumberFormat(或缺乏)可能是一个原因。 例如,

txtPenFund.Text = "2.00,00"; // assuming a convenient example to get exception
double PensionFund;
PensionFund = Convert.ToDouble(txtPenFund.Text); // will throw format exception

如果我使用NumberFormatInfo,我可以按预期将字符串转换为double。

NumberFormatInfo numFormat = new NumberFormatInfo();
numFormat.NumberDecimalSeparator = ",";
numFormat.NumberGroupSeparator = ".";
// somewhere in the UI, txtPenFund is set
txtPenFund.Text = "2.00,00";

double PensionFund;
PensionFund = Convert.ToDouble(txtPenFund.Text, numFormat);