最近更新的BLOG列表
最新更新的文章列表
精彩推荐列表
阿拉伯数字转成中文大写
2008-05-28 18:30:19.0
String NToC(String shu)
{
String a[11]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖","点"};
AnsiString b=shu;
String c[11];
String d="";
{
String a[11]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖","点"};
AnsiString b=shu;
String c[11];
String d="";
for(int i=1;i<=shu.Length();i++)
{
c[i]=b[i];
if(b[i]=='.')
{
d=d+a[10];
}
else
{
d=d+a[c[i].ToIntDef(0)];
}
}
WideString b1=d;
int d1=b1.Length();//字符串的总长度
AnsiString PointStr;
if(b1.Pos("点")!=0)
{
d1=b1.Pos("点")-1;//去掉小数点后的长度
PointStr=b1.SubString(d1+1,b1.Length()-d1+1);//小数点后的字符串
b1=b1.SubString(1,b1.Pos("点")-1);//去掉小数点后的字符串
}
switch(d1)
{
case 0:
b1="零";
case 2:
b1.Insert("拾",d1);
break;
case 3:
b1.Insert("拾",d1);
b1.Insert("佰",d1-1);
break;
case 4:
b1.Insert("拾",d1);
b1.Insert("佰",d1-1);
b1.Insert("仟",d1-2);
break;
case 5:
b1.Insert("拾",d1);
b1.Insert("佰",d1-1);
b1.Insert("仟",d1-2);
b1.Insert("万",d1-3);
break;
case 6:
b1.Insert("拾",d1);
b1.Insert("佰",d1-1);
b1.Insert("仟",d1-2);
b1.Insert("万",d1-3);
b1.Insert("拾",d1-4);
break;
}
{
c[i]=b[i];
if(b[i]=='.')
{
d=d+a[10];
}
else
{
d=d+a[c[i].ToIntDef(0)];
}
}
WideString b1=d;
int d1=b1.Length();//字符串的总长度
AnsiString PointStr;
if(b1.Pos("点")!=0)
{
d1=b1.Pos("点")-1;//去掉小数点后的长度
PointStr=b1.SubString(d1+1,b1.Length()-d1+1);//小数点后的字符串
b1=b1.SubString(1,b1.Pos("点")-1);//去掉小数点后的字符串
}
switch(d1)
{
case 0:
b1="零";
case 2:
b1.Insert("拾",d1);
break;
case 3:
b1.Insert("拾",d1);
b1.Insert("佰",d1-1);
break;
case 4:
b1.Insert("拾",d1);
b1.Insert("佰",d1-1);
b1.Insert("仟",d1-2);
break;
case 5:
b1.Insert("拾",d1);
b1.Insert("佰",d1-1);
b1.Insert("仟",d1-2);
b1.Insert("万",d1-3);
break;
case 6:
b1.Insert("拾",d1);
b1.Insert("佰",d1-1);
b1.Insert("仟",d1-2);
b1.Insert("万",d1-3);
b1.Insert("拾",d1-4);
break;
}
int Result0 = b1.Pos("拾零");
if(Result0>0)
{
b1.Delete(Result0+1,1);
}
if(Result0>0)
{
b1.Delete(Result0+1,1);
}
int Result = b1.Pos("零拾");
if(Result>0)
{
b1.Delete(Result+1,1);
}
int Result1=b1.Pos("零佰");
if(Result1>0)
{
b1.Delete(Result1+1,1);
}
int Result2= b1.Pos("零仟");
if(Result2>0)
{
b1.Delete(Result2+1,1);
}
int Result3= b1.Pos("零万");
if(Result3>0)
{
b1.Delete(Result3+1,1);
}
if(Result>0)
{
b1.Delete(Result+1,1);
}
int Result1=b1.Pos("零佰");
if(Result1>0)
{
b1.Delete(Result1+1,1);
}
int Result2= b1.Pos("零仟");
if(Result2>0)
{
b1.Delete(Result2+1,1);
}
int Result3= b1.Pos("零万");
if(Result3>0)
{
b1.Delete(Result3+1,1);
}
int Result4= b1.Pos("零零零");
if(Result4>0)
{
b1.Delete(Result4+1,2);
}
int Result5= b1.Pos("零零");
if(Result5>0)
{
b1.Delete(Result5+1,1);
}
if(Result4>0)
{
b1.Delete(Result4+1,2);
}
int Result5= b1.Pos("零零");
if(Result5>0)
{
b1.Delete(Result5+1,1);
}
int Result6= b1.Pos("零零");
if(Result6>0)
{
b1.Delete(Result6+1,1);
}
if(Result6>0)
{
b1.Delete(Result6+1,1);
}
if(b1.SubString(b1.Length(),1)==AnsiString("零"))
b1.Delete(b1.Length(),1);
b1.Delete(b1.Length(),1);
if(PointStr!="")
{
return b1+PointStr;
}
else
{
return b1;
}
}
//注:当前待转换的数的长度是6位
文章评论
[以下网友留言只代表其个人观点,不代表中华网的观点或立场]

