/**
* 把 数字 转换成 人民币表达方式
* 例如(1111)转成 “一千一百一拾一元整”
*/
public class Test02 {
private static final char[] data = { '零', '壹', '贰', '叄', '肆', '伍', '陆',
'柒', '捌', '玖' };
private static final char[] units = { '元', '拾', '佰', '仟', '万', '拾', '佰',
'仟', '亿' };
public String convert(int money) {
StringBuffer sbf = new StringBuffer();
int uint = 0;
while (money != 0) {
sbf.insert(0, units[uint++]);
sbf.insert(0, data[money % 10]);
money = money / 10;
}
// 去零
return sbf.toString().replaceAll("零[拾佰仟]", "零").replaceAll("零+万", "万")
.replaceAll("零+元", "元").replaceAll("零+", "零");
}
public static void main(String[] args) {
Test02 rmb = new Test02();
System.out.println(rmb.convert(1111)); // 输出壹仟零壹拾壹元
}
}