 |
 |
 |
 |
|
|
分類目錄 |
本站日誌 (51)
碎碎唸啦 (173)
網站架設 (84)
程式設計 (161)
軟體使用 (69)
電子商務 (126)
經營奇想 (48)
基金理財 (11)
聰明消費 (87)
電影心得 (47)
開放原碼 (16)
工作記錄 (2)
毛毛小記 (9)
就是不同 (2)
|
|
歷史資料 |
|
|
|
 |
 |
 |
 |
|
 |
 |
 |
 |
May 02, 2006 |
 |
 |
|
[PHP] 阿拉伯數字轉為大寫國字
正好前陣子有需要,從螢火飛的 VB 版本移植到 PHP 上。
function getChineseNumber($money){
$ar = array("零", "壹", "貳", "參", "肆", "伍", "陸", "柒", "捌", "玖") ;
$cName = array("", "", "拾", "佰", "仟", "萬", "拾", "佰", "仟", "億", "拾", "佰", "仟");
$conver = "";
$cLast = "" ;
$cZero = 0;
$i = 0;
for ($j = strlen($money) ; $j >=1 ; $j--){
$cNum = intval(substr($money, $i, 1));
$cunit = $cName[$j]; //取出位數
if ($cNum == 0) { //判斷取出的數字是否為0,如果是0,則記錄共有幾0
$cZero++;
if (strpos($cunit,"萬億") >0 && ($cLast == "")){ // '如果取出的是萬,億,則位數以萬億來補
$cLast = $cunit ;
}
}else {
if ($cZero > 0) {// '如果取出的數字0有n個,則以零代替所有的0
if (strpos("萬億", substr($conver, strlen($conver)-2)) >0) {
$conver .= $cLast; //'如果最後一位不是億,萬,則最後一位補上"億萬"
}
$conver .= "零" ;
$cZero = 0;
$cLast = "" ;
}
$conver = $conver.$ar[$cNum].$cunit; // '如果取出的數字沒有0,則是中文數字+單位
}
$i++;
}
//'判斷數字的最後一位是否為0,如果最後一位為0,則把萬億補上
if (strpos("萬億", substr($conver, strlen($conver)-2)) >0) {
$conver .=$cLast; // '如果最後一位不是億,萬,則最後一位補上"億萬"
}
return $conver;
}
|
|
|
|
由 Neo 發表於 May 2, 2006 12:42 AM
|
|
|
|
|
 |
 |
 |
 |
Copyright 2005 Neo's Blog All rights reserved.
|