算法與編程--3
阿新 • • 發佈:2018-01-26
傳統 con ber ringbuf all blog () void ins
金額轉換,阿拉伯數字的金額轉換成中國傳統的形式如:(¥1011)->(一千零一拾一元整)輸出
package com.test; public class RMBConvert { public static void main(String[] args) { convertMoney(910000000); } private static final char[] units = { ‘元‘,‘拾‘,‘佰‘,‘仟‘,‘萬‘,‘拾‘,‘佰‘,‘仟‘,‘億‘ }; private static final char[] data = { ‘零‘,‘壹‘,‘貳‘,‘叁‘,‘肆‘,‘伍‘,‘陸‘,‘柒‘,‘捌‘,‘玖‘ }; /** * 金額轉換,阿拉伯數字的金額轉換成中國傳統的形式如:(¥1011)->(一千零一拾一元整)輸出 * @param money * @return */ public static String convertMoney(int money) { int unitIndex = 0; int number = 0; StringBuffer sb = new StringBuffer(); while (money > 0) { sb.insert(0, units[unitIndex++]); System.out.println(sb.toString()); number = money % 10; money /= 10; sb.insert(0, data[number]); System.out.println(sb.toString()); } String res = sb.toString().replaceAll("零[仟佰拾]", "零").replaceAll("零+元", "").replaceAll("零+萬", "萬").replaceAll("零+", "零"); System.out.println(res); return res; } }
算法與編程--3