public class Test10 {
//创建一个字符数组,存放中文数字
private static final char[] data = new char[] { '零', '壹', '贰', '叁', '肆',
'伍', '陆', '柒', '捌', '玖' };
//创建一个字符数组存放单位
private static final char[] units = new char[] { '元', '拾', '佰', '仟', '万',
'拾', '佰', '仟', '亿', '拾' };
public static void main(String[] args) {
System.out.println(convert(1070080009));
}
private static String convert(int money) {
//创建一个字符串缓冲区
StringBuffer sbf = new StringBuffer();
// 定义一个int类型变量作为索引
int unit = 0;
while (money != 0) {
//当传入的数字不为零时,就把中文数组插入到指定位置
sbf.insert(0, units[unit++]);
//获得一个number变量
int number = money % 10;
//把number作为字符数组索引,插入到缓冲区指定位置
sbf.insert(0, data[number]);
money /= 10;
}
//用零对前面的值进行替换,再返回toString方法
return sbf.toString().replaceAll("零[拾佰仟]", "零").replaceAll("零+万", "万")
.replaceAll("零+元", "元").replaceAll("零+", "零");
}
}
我在网上找到一个比较简单的方法,while里面的代码我不清楚具体是什么意思,求大神看一下,很急 啊 |
|