double.parse System.FormatException:'输入字符串的格式不正确。

时间:2019-07-11 15:51:42

标签: c#

我对编程还很陌生,并且竭尽全力尝试解决此错误。任何帮助将不胜感激。

string sBipLength = aPart.get_Parameter(BuiltInParameter.FABRICATION_PART_LENGTH).AsValueString();
double dParse2 = Double.Parse(sBipLength);
sBipLength = (dParse2 / aPart.CenterlineLength).ToString();

我想返回AsValueString并将其转换为可以分割的格式。

1 个答案:

答案 0 :(得分:0)

首先,我将在第一行设置一个断点,然后逐步执行(按F10键)。然后将鼠标悬停在sBitLength上以查看所获得的价值。我想你得到的不是有效的两倍。

此外,如果不确定某个格式,通常建议您使用Double.TryParse。 (并非总是这样,但是TryParse更安全。)

string sBipLength = aPart.get_Parameter(BuiltInParameter.FABRICATION_PART_LENGTH).AsValueString();

double dParse2 = 0;
if(!Double.TryParse(sBipLength, out dParse2))//syntax edit 
{ 
    // handle any errors here when applicable
}
else 
{
    sBipLength = (dParse2 / aPart.CenterlineLength).ToString();
}

构造TryParse块的方式有很多,您可能必须进行修改以使其适合当前代码。这只是它在起作用的一个例子。 (重要说明:out关键字在某种意义上起着另一个return的作用。Double.TryParse返回一个bool,但是out给您双重假设该字符串有效。)