黑马程序员技术交流社区
标题: 数字转换为中文描述 [打印本页]
作者: kingmask 时间: 2016-4-27 23:00
标题: 数字转换为中文描述
.
public class Test31 {
private static final char[] data = {'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
private static final char[] units = {'圆','拾','佰','仟','万','拾','佰','仟','亿','拾','佰','仟'};
public static voidmain(String[] args) throws Exception{
// TODOAuto-generated method stub
while(true){
Scanner scan = newScanner(System.in);
int lon =scan.nextInt();
System.out.println(convert(lon));
scan.close();
}
}
private static String convert(int money) throws Exception{
StringBuilder sb = new StringBuilder();
int uint = 0;
while(money!=0){
//插入到前面从最小位数开始取
sb.insert(0, units[uint++]);
//插入到最前面,系数
sb.insert(0, data[(int)(money%10)]);
money = money / 10;
}
//使用替换的正则表达式将多余的零替换
return sb.toString().replaceAll("零[仟佰拾]"//仟或佰或拾, "零").replaceAll("零//一个或多个零+万", "万")
.replaceAll("零+亿", "亿").replaceAll("亿万", "亿零")
.replaceAll("零+", "零").replaceAll("零圆", "圆");
}
}
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |