public class Int2Big { static String int2big(int src) { final String num[] = {"零", "壹", "貳", "叄", "肆", "伍", "陸", "柒", "捌", "玖"}; final String unit[] = {"圓", "拾", "佰", "仟", "萬", "拾", "佰", "仟", "億", "拾", "佰", "仟"}; String dst = ""; int count = 0; while (src > 0) { dst = (num[src % 10] + unit[count]) + dst; src = src / 10; count++; } return dst.replaceAll("零[仟佰拾]", "零").replaceAll("零+萬", "萬") .replaceAll("零+億", "億").replaceAll("億萬", "億零") .replaceAll("零+", "零").replaceAll("零圓", "圓"); } public static void main(String[] args) { System.out.println(int2big(123004506)); //-->壹億貳仟叄佰萬肆仟伍佰零陸圓 System.out.println(int2big(6523464)); //-->陸佰伍拾貳萬叄仟肆佰陸拾肆圓 System.out.println(int2big(1001000100));//-->壹拾億零壹佰萬零壹佰圓 System.out.println(int2big(808)); //-->捌佰零捌圓 } }
轉自:https://www.v2ex.com/t/388568#reply41