帮忙把下面代码  double类型改成decimal类型
我用的是2003的  谢谢大家了!!double d2=0;
double d4=0;
if(double.TryParse(dr[2]!=null?dr[2].ToString():"0",System.Globalization.NumberStyles.None, null,out d2) && double.TryParse(dr[4]!=null?dr[4].ToString():"0",System.Globalization.NumberStyles.None, null,out d4) && d2 >= d4)
{
}

解决方案 »

  1.   

    03下decimal没有TryParse方法,你一定要用decimal类型吗
      

  2.   

    这段代码在2003上可以编译吗?如果可以直接
    decimal decimal1 = (decimal)d2;
    decimal decimal2 = (decimal)d4;
    就行了吧?
      

  3.   


    decimal d2; 
    decimal d4; 
    bool flag=false;
    try
    {
       d2= Decimal.Parse(dr[2]!=null?dr[2].ToString():"");
       d4= Decimal.Parse(dr[4]!=null?dr[4].ToString():"");
       flag=true;
    }   
    catch (FormatException)
    {
       
    }
    if(flag && d2 >= d4) 

    }
      

  4.   

    如果 你的第五列的汉字是固定的话,可以不用try,catch  。不推荐用try,catch  来判断类型。
      

  5.   

    VS03下decimal没有TryParse方法,只有Parse方法。
      

  6.   


    if(dr[2] != null && dr[2].ToString() != "断线")
    {
        decimal d2 = Convert.ToDecimal(dr[2]);
        decimal d4 = Convert.ToDecimal(dr[4]);
        if(d2 >= d4)
        {
            //go on
        }
    }
      

  7.   


    哪就这样写
    decimal d2; 
    decimal d4; 
    bool flag=false;if(dr[2] != null &&dr[2].ToString().Trim().Length!=0&& dr[2].ToString() != "断线")
    {
        flag=true;
        d2= Decimal.Parse(dr[2].ToString());
        d4= Decimal.Parse(dr[4].ToString());
        
    }
    if(flag&&d2 >= d4) 
    {}
      

  8.   


    decimal d2=0; 
    decimal d4=0; 
    bool flag=false;if(dr[2] != null &&dr[2].ToString().Trim().Length!=0&& dr[2].ToString() != "断线")
    {
        try
        {       d2= Decimal.Parse(dr[2].ToString());
           d4= Decimal.Parse(dr[4].ToString());
           flag=true;
        }
        catch (FormatException)
        {
           flag=false;
        }}
    if(flag&&d2 >= d4) 
    {}