作者Vett (Vett)
看板PHP
標題[分享] 金額轉中文大寫
時間Mon Jun 2 22:47:41 2014
網路上看了幾個版本覺的太複雜, 自己動手最實在
function to_ch($val, $prepand = 0)
{
$num2ch = array("零", "壹", "貳", "參", "肆", "伍", "陸", "柒", "捌", "玖");
$num2ch2 = array("元", "拾", "佰", "仟", "萬", "拾", "佰", "仟");
$val2 = (string) $val;
$val3 = '';
if($prepand == 1)
{
$len2 = strlen($val2);
for($i=0;$i< (count($num2ch2)-$len2);$i++)
$val2 = "0" . $val2;
}
for($i=0;$i<strlen($val2);$i++)
{
$rev_i = strlen($val2) - $i -1;
$val3 = $num2ch[substr($val2,$rev_i,1)] ." " . $num2ch2[$i]. " " .$val3;
}
return $val3;
}
num2ch2 可照需求擴充到億等單位, prepand 帶1 會完整列出 num2ch2 的長度.
input: 1077292
output(prepend) = 零 仟 壹 佰 零 拾 柒 萬 柒 仟 貳 佰 玖 拾 貳 元
output(no-pre) = 壹 佰 零 拾 柒 萬 柒 仟 貳 佰 玖 拾 貳 元
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.149.187
※ 文章網址: http://webptt.com/m.aspx?n=bbs/PHP/M.1401720463.A.035.html
※ 編輯: Vett (122.117.149.187), 06/02/2014 23:05:26
1F:推 UniFish:我也有寫過,不過是轉成人一般描述的格式 06/03 14:05
2F:→ UniFish:EX: 10,070 => 壹萬零柒拾元整 06/03 14:05
3F:推 shadowjohn:阿僧祇~ 06/04 21:42
4F:推 taichunmin:我也有寫過類似的 給你參考 06/05 02:11