把 数字 转换成 人民币表达方式 例如(1111)转成 “一千一百一拾一元整”
/** * 把 数字 转换成 人民币表达方式 * 例如(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)); // 输出壹仟零壹拾壹元 } }