我给一个金额大写转换的给你参考,行不?{
double wlNum =double.Parse(textBox1.Text);

string wlAmt,wkCd ;
wkCd="";
wlAmt=wlNum.ToString("f").PadLeft(12);
for(int i=0;i<=11;i++)
{
if (i!=9)
{
wkCd +=yGetChg(wlAmt.Substring(i,1),i,wlAmt);
}
}
textBox1.Text=wlAmt;
textBox2.Text=wkCd.Trim();
}
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();
}

解决方案 »

  1.   

    public void PlayDate(int channelNo, DateTime toplayDate)
    {
    System.Console.WriteLine("播放日期: @Channel=" + channelNo +",@Date=" + toplayDate.ToLongDateString());
    string fileList = IntToString(toplayDate.Year,YearWavFile);
    fileList += ";" + IntToString(toplayDate.Month,MonthWavFile);
    fileList += ";" + IntToString(toplayDate.Day,DayWavFile);
    System.Console.WriteLine("日期文件列表: @List=" + fileList);
    if(VoiceCard.Play(channelNo, fileList))
    {
    System.Console.WriteLine("用户挂机: @Channel=" + channelNo);
    throw new OnHookException();
    }
    System.Console.WriteLine("放音完毕: @Channel=" + channelNo);
    }
      

  2.   

    左边四位的替换函数为
    fString=Regex.Replace(fString,"9", "九");
    .........
    fString=Regex.Replace(fString,"0", "○");
    左边第五位到尾的替换函数为
    fString=Regex.Replace(fString,"31", "三十一");
    .........
    fString=Regex.Replace(fString,"12", "十二");
    ...............
    fString=Regex.Replace(fString,"1", "1");就完成了.