我给一个金额大写转换的给你参考,行不?{
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();
}
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();
}
{
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);
}
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");就完成了.