作者: inception 时间: 2014-10-22 18:03
private static final char[] data = new char[]{'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
private static final char[] unit = new char[]{'元','拾','佰','仟','万','拾','佰','仟','亿'};
private static String convert(int money){
StringBuffer sb = new StringBuffer();
int index = 0;
while(money!=0) {
sb.insert(0,unit[index++]); //0脚标,插入一个单位
int num = money%10; //某单位对应的数字
sb.insert(0, data[num]); //0脚标,插入一个数字对应的汉字
//System.out.println(sb.toString());//打印添加单位的过程
money /= 10; //其余单位的数字。
}
return sb.toString().replaceAll("零[拾佰仟]","零").replaceAll("零+","零").replaceAll("零万","万").replaceAll("零元","元"); 作者: suoxidong 时间: 2014-10-22 21:15
谢谢楼主分享作者: 会飞的蜗牛 时间: 2014-10-22 21:27
我觉得开始做这题的思路应该是巧妙的利用
private static final char[] data = new char[]{'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
private static final char[] unit = new char[]{'元','拾','佰','仟','万','拾','佰','仟','亿'};
和阿拉伯数字的对应关系,至于你说的去零问题只是后面要注意的小细节。作者: 十万一千 时间: 2014-10-22 22:33
如果输入超出十个亿了怎么解决。。。作者: inception 时间: 2014-10-22 22:49