问题描述:阿拉伯数字转换为中国传统的形式
例如:1001->壹仟零壹元
代码如下:
public class ConvertTest {
private static char[] data = {'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
private static char[] units = {'元','拾','佰','仟','万','拾','佰','仟','亿'};
public static void main(String[] args) {
System.out.println(convert(12001));
}
public static String convert(int money){
StringBuilder sb = new StringBuilder();
int j = 0;
while(money != 0){
sb.append(units[j++]);
int number = money%10;
sb.append(data[number]);
money /= 10;
}
String result = sb.reverse().toString();
result = result.replaceAll("零[万仟佰拾]", "零").replaceAll("零+", "零").replaceAll("零+元", "元");
return result;
}
}