string str="";//str=""的时候肯定转换失败,如果str="0.0"则成功
double result=0.0;
if(double.TryParse(str,out result)){//转换是否成功是str的值决定的,如果值是double类型就成功
//转换成功,str的值赋给result
}else{
//转换失败
}
没太明白你意思,试着说说吧。
double d;
if (str=="") then
{d=0;}
else
{……}
这样不行吗?(str自己变成double肯定是不行的,因为它定义为了string类型)
为什么 不直接声明 double 呢,要是返回值的话,你可以反方向改,double 转 string 是能转的,string 转 double 是不能转的。因为大小不一样。
这怎么转,要不你自己定义if(str == "") return 0;
要么string。Parse或TryParse
强制转换,Convet.ToDouble,转换的时候记得加try,catch