1 package test; 2 /* 3 *第10題: 金額轉(zhuǎn)換,阿拉伯?dāng)?shù)字轉(zhuǎn)換成中國傳統(tǒng)形式。 例如:101000001010 轉(zhuǎn)換為 壹仟零壹拾億零壹仟零壹拾圓整 4 * 步驟: 1.創(chuàng)建一個(gè)轉(zhuǎn)換的方法converNumber(long number) 2.將阿拉伯形式轉(zhuǎn)換成中國傳統(tǒng)形式 3.去零操作 4.正則表達(dá)式替換操作 5 * */ 6 public class Test17 7 { 8 public static void main(String[] args) 9 {10 // 測試11 System.out.PRintln(convertNumber(3500908));12 System.out.println(convertNumber(101000001010L));13 System.out.println(convertNumber(10000000000L));14 }15 public static String convertNumber(long number)16 {17 // 定義字符數(shù)組存儲(chǔ)中國數(shù)字寫法格式18 final char[] chineseNumber = new char[] { '零', '壹', '貳', '叁', '肆', '伍', '陸', '柒', '捌', '玖' };19 // 定義字符數(shù)組存儲(chǔ)中國數(shù)字的單位20 final char[] units = new char[] { '圓', '拾', '佰', '仟', '萬', '拾', '佰', '仟', '億', '拾', '佰', '仟' };21 // 定義一個(gè)字符串緩沖區(qū)對字符進(jìn)行存儲(chǔ)22 StringBuilder sb = new StringBuilder();23 int index = 0;24 long lastNumber = 0;25 while (number != 0)26 {27 lastNumber = number % 10;28 sb.insert(0, units[index++]);29 sb.insert(0, chineseNumber[(int) lastNumber]);30 number = number / 10;31 }32 // 去零操作,通過正則表達(dá)式33 return sb.toString().replaceAll("零[拾佰仟]", "零").replaceAll("零+億", "億").replaceAll("零{4}萬", "零").replaceAll("零+萬", "萬").replaceAll("零+圓", "圓").replaceAll("零+", "零") + "整";34 }35 }新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注