最近YOGO在知識+看到這個問題常被問到的,剛好手邊之前有收集到相關的程式碼,就在此提供給有需要的朋友囉!!
1: <?php2: function getChineseNumber($money){
3: $ar = array("零", "壹", "貳", "參", "肆", "伍", "陸", "柒", "捌", "玖") ;
4: $cName = array("", "", "拾", "佰", "仟", "萬", "拾", "佰", "仟", "億", "拾億", "佰億", "仟億");
5: $conver = "";
6: $cLast = "" ;
7: $cZero = 0; 8: $i = 0; 9: for ($j = strlen($money) ; $j >=1 ; $j--){
10: $cNum = intval(substr($money, $i, 1)); 11: $cunit = $cName[$j]; //取出位數
12: if ($cNum == 0) { //判斷取出的數字是否為0,如果是0,則記錄共有幾0
13: $cZero++; 14: if (strpos($cunit,"萬億") >0 && ($cLast == "")){ // '如果取出的是萬,億,則位數以萬億來補
15: $cLast = $cunit ; 16: } 17: }else {
18: if ($cZero > 0) {// '如果取出的數字0有n個,則以零代替所有的0
19: if (strpos("萬億", substr($conver, strlen($conver)-2)) >0) {
20: $conver .= $cLast; //'如果最後一位不是億,萬,則最後一位補上"億萬"
21: } 22: $conver .= "零" ;
23: $cZero = 0; 24: $cLast = "" ;
25: } 26: $conver = $conver.$ar[$cNum].$cunit; // '如果取出的數字沒有0,則是中文數字+單位
27: } 28: $i++; 29: } 30: //'判斷數字的最後一位是否為0,如果最後一位為0,則把萬億補上
31: if (strpos("萬億", substr($conver, strlen($conver)-2)) >0) {
32: $conver .=$cLast; // '如果最後一位不是億,萬,則最後一位補上"億萬"
33: }elseif(strlen($money)-1 == $cZero && $cZero >=5){
34: $conver .=$cName[5]; 35: } 36: return $conver;
37: } 38: ?>原文出處:http://www.neo.com.tw/archives/903
另外 [題目]php程式設計面試考試 與 阿拉伯數字轉成國字數字 這二篇文章有更多的解法,提供給有需要的朋友參考一下。
如果覺得這篇文章對您有所幫助,在觀看完文章之餘,希望能點選下方方廣告,當作是對YOGO的支持,讓YOGO更有寫作的動力。



![[試吃分享]團圓招財福神到,「包你發爆米花手工飆香上貢禮 [試吃分享]團圓招財福神到,「包你發爆米花手工飆香上貢禮"](http://a7.sphotos.ak.fbcdn.net/hphotos-ak-ash4/407377_2678731640382_1019006633_2820845_2088867976_n.jpg)






