好像再vb。net中有个专用的转换函数啊!你试一试split()

解决方案 »

  1.   

    转贴一个代码,可能没有你的这个问题double  wlNum  =double.Parse(this.mainDs.Tables[0].Rows[0][nTail.SelectSingleNode("Item").InnerText].ToString());  
    string  wlAmt,wkCd  ;  
    wkCd="";  
    wlAmt=wlNum.ToString("f").PadLeft(12);  
    for(int  l=0;l<=11;l++)  
    {  
    if  (l!=9)  
    {  
    wkCd  +=yGetChg(wlAmt.Substring(l,1),l,wlAmt);  
    }  
    }  
    wkcd就是结果
      

  2.   

    我当然知道用split函数,关键是怎么样判断条件实在太多了,因为你要考虑“万”,“仟”,“佰”,“拾”有或者没有的情况,代码太长了,我想问问有没有简单的方法
      

  3.   

    string  yGetChg(string  wlCd  ,  int  wlLoc  ,  string  wlAmtt  )    
    {  
    string  wlDd="億仟佰拾萬仟佰拾元 角分";  
    string  wlName="";  
    string  wlTemp=wlAmtt.Substring(1,1)+wlAmtt.Substring(2,1)+wlAmtt.Substring(3,1)+  wlAmtt.Substring(4,1)+"0";  
    int  wlTemp2=int.Parse(  wlTemp);  
    switch  (wlCd)  
    {  
    case    "1":  
    wlName="壹"  +  wlDd.Substring(wlLoc,1);  
    break;  
    case  "2":  
    wlName=  "貳"  +  wlDd.Substring(wlLoc,  1);  
    break;  
    case  "3":  
    wlName="參"  +wlDd.Substring(wlLoc,1);  
    break;  
    case  "4":  
    wlName="肆"  +  wlDd.Substring(wlLoc,  1);  
    break;  
    case  "5":  
    wlName="伍"  +  wlDd.Substring(wlLoc,  1);    
    break;  
    case  "6":  
    wlName="陸"  +  wlDd.Substring(wlLoc,  1);  
    break;  
    case  "7":  
    wlName="柒"  +  wlDd.Substring(wlLoc,  1);  
    break;  
    case  "8":  
    wlName="捌"  +  wlDd.Substring(wlLoc,  1);  
    break;  
    case  "9":  
    wlName="玖"  +  wlDd.Substring(wlLoc,  1);  
    break;  
    case  "0":  
    if(wlLoc<11)  
    {  
    if(("1234567").IndexOf(wlLoc.ToString())>0  &  ("0").IndexOf(wlAmtt.Substring(wlLoc+1,1))<0)  
    {  
    wlName="零";  
    }  
    if(wlAmtt.Substring(wlLoc+1,1)==".")  
    {  
    wlName=wlDd.Substring(wlLoc,1);  
    }  
    if(wlLoc==4  &  wlTemp2>0  )  
    {  
    wlName=  "萬";  
    }  
    }  
    break;  
    }  
    return  wlName.Trim();  
    }