public
class
RmbConversion
...
{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public String Conversion(String str)...{
String rmbstr = "";
//创建单位字符串数组
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
String rmbunit[] = ...{"","圆","拾","佰","仟","萬","亿"};
//创建中文数字字符串数组
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
String rmbnum[] =...{"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
//把将要转换的数字的整型部分和小数部分别放在字符串数组中
String lstr[] =str.split("/.");
StringBuffer rmbsb = new StringBuffer();
//拼写整型部分
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
for(int i=lstr[0].length();i>0;i--)...{
//将一个一的数字分别取出
int k =Integer.parseInt((lstr[0]).substring((lstr[0].length()-(i-1))-1,lstr[0].length()-(i-1)));
//转换后并连接
rmbsb.append(rmbnum[k]);
//给整型数字添加单位
if(((i-1)/4)%2==0&&( (i - ( (i - 2) / 4 * 4 + 1))) + 1==5)
//连接"亿"位
rmbsb.append(rmbunit[((i-((i-2)/4*4+1)))+2]);
else
//连接"圆","拾","佰","仟","萬"位
rmbsb.append(rmbunit[((i-((i-2)/4*4+1)))+1]);
}
//连接小数为数
rmbsb.append(rmbnum[Integer.parseInt(""+lstr[1].substring(0,1))]);
rmbsb.append("角");
rmbsb.append(rmbnum[Integer.parseInt(""+lstr[1].substring(1,2))]);
rmbsb.append("分");
rmbstr = rmbsb.toString();
//去掉在字符串中多余的单位和零
rmbstr = rmbstr.replaceAll("零([^亿万圆角分])", "零");
rmbstr = rmbstr.replaceAll("亿零+万","亿零");
rmbstr = rmbstr.replaceAll("零+", "零");
rmbstr = rmbstr.replaceAll("零([亿万圆])", "$1");
rmbstr =rmbstr.replaceAll("^壹拾","拾");
//返回转换的结果.
return rmbstr;
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public static void main(String[] args) ...{
RMBConversion rmbc = new RMBConversion();
System.out.println("转换结果为:"+rmbc.Conversion(10000000000000000000001.00+""));
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
以上是实现将数字(10000000000000000000001.00)转换为中文的大写格式.