这是我写的一个方法.数字转成大写金额.下面的方法是大写金额转成数字
public string SWAP(string mone)//
{
hc1[0]="零";hc2[0]="分";
hc1[1]="壹";hc2[1]="角";
hc1[2]="贰";hc2[2]="元";
hc1[3]="叁";hc2[3]="拾";
hc1[4]="肆";hc2[4]="佰";
hc1[5]="伍";hc2[5]="仟";
hc1[6]="陆";hc2[6]="万";
hc1[7]="柒";hc2[7]="拾";
hc1[8]="捌";hc2[8]="佰";
hc1[9]="玖";hc2[9]="仟";
hc2[10]="亿";
double f;
string fuction="";
if(mone!="")
{
if(double.Parse(mone)>=0)
f=double.Parse(mone)*10000;//金额的10000倍
else
{
f=-double.Parse(mone)*10000;
fuction=" 负 ";
}
ulong invalue=ulong.Parse(f.ToString())/100;//金额的10000倍/100
string Value="";
ulong n=10;
int cal=0;
while(invalue>0)
{
ulong m=invalue%n;
invalue=invalue/10;
if(cal>10)
cal=cal-8;
Value=hc1[int.Parse(m.ToString())].ToString()+hc2[int.Parse(cal.ToString())].ToString()+Value;
cal++;
}
MONEY = "¥"+Value+"整";
}
else
{
MessageBox.Show("请输入转换金额!");
}
return MONEY;
}
大写金额转换成数字:
public string MOVE(string str)
{
b[0]="零";b[11]="分";
b[1]="壹";b[12]="角";
b[2]="贰";b[13]="元";
b[3]="叁";b[14]="拾";
b[4]="肆";b[15]="佰";
b[5]="伍";b[16]="仟";
b[6]="陆";b[17]="万";
b[7]="柒";b[18]="拾";
b[8]="捌";b[19]="佰";
b[9]="玖";b[20]="仟";
b[10]="亿";
for(int i=0;i<=str.Length-2;i++)
a[i]=str.Substring(i+1,1);
//GOTO:
for(int j=0;j<=str.Length-2;j++)
if(a[j]=="亿"||a[j]=="仟"||a[j]=="佰"||a[j]=="拾"||a[j]=="万"||a[j]=="佰"||a[j]=="拾"||a[j]=="元"||a[j]=="角"||a[j]=="分")
{
if(a[j]=="元")
{
str_swap=str_swap+".";
}
a[j]="0";
continue;
}
else
{
str_swap = str_swap+SWAP_(a[j]);
}
return str_swap;
}
public string SWAP_(string str_)
{
string strA="";
switch(str_)
{
case "零":strA="0";break;
case "壹":strA="1";break;
case "贰":strA="2";break;
case "叁":strA="3";break;
case "肆":strA="4";break;
case "伍":strA="5";break;
case "陆":strA="6";break;
case "柒":strA="7";break;
case "捌":strA="8";break;
case "玖":strA="9";break;
}
return strA;
}
赠送一个方法.哈哈!!!将日期转换成大写......(其实会了金额日期也就会了)
public string Conver(string str)
{
string strA="";
if(str.Length==4)
{
strA=setA(str.Substring(0,1))+setA(str.Substring(1,1))+setA(str.Substring(2,1))+setA(str.Substring(3,1));
}
else
{
if(str.Length==1)
str="0"+str;
if(int.Parse(str)>=10)
{
if(int.Parse(str)==10||int.Parse(str)==20||int.Parse(str)==30)
strA="零"+setA(str.Substring(0,1))+"拾";
else
strA=setA(str.Substring(0,1))+"拾"+setA(str.Substring(1,1));
}
else
strA=setA(str.Substring(0,1))+setA(str.Substring(1,1));
}
return strA;
}
public string setA(string str)
{
string strA="";
switch(str)
{
case "0":strA="零";break;
case "1":strA="壹";break;
case "2":strA="贰";break;
case "3":strA="参";break;
case "4":strA="肆";break;
case "5":strA="伍";break;
case "6":strA="陆";break;
case "7":strA="柒";break;
case "8":strA="捌";break;
case "9":strA="玖";break;
}
return strA;
}