我对编程还很陌生,并且竭尽全力尝试解决此错误。任何帮助将不胜感激。
string sBipLength = aPart.get_Parameter(BuiltInParameter.FABRICATION_PART_LENGTH).AsValueString();
double dParse2 = Double.Parse(sBipLength);
sBipLength = (dParse2 / aPart.CenterlineLength).ToString();
我想返回AsValueString
并将其转换为可以分割的格式。
答案 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
给您双重假设该字符串有效。)