RegExp
即时无法计算数额的报酬金额
答案 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);