数字小写转大写示例PHP代码

项目中经常会用到的数字小写转大写功能,收藏分享给大家,直接复制粘贴就可以项目中使用。

可以将数字:1234.5678元,转换成大写汉子:壹仟贰佰叁拾肆圆伍角陆分柒厘捌毫

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
$data $_GET['data'];
function china_cny($ns) {
 
    static $cnums array("零""壹""贰""叁""肆""伍""陆""柒""捌""玖"),
 
    $cnyunits array("圆""角""分","厘","毫"),
 
    $grees array("拾""佰""仟""万""拾""佰""仟""亿");
 
    list($ns1$ns2) = explode("."$ns, 4);
    $ns2 array_filter(array($ns2[3],$ns2[2],$ns2[1], $ns2[0]));
 
    //$ns2 = array_filter(array($ns2[1], $ns2[0]));
 
    $ret array_merge($ns2array(implode("", _cny_map_unit(str_split($ns1), $grees)), ""));
 
    $ret = implode(""array_reverse(_cny_map_unit($ret$cnyunits)));
 
    return str_replace(array_keys($cnums), $cnums$ret);
 
}
 
function _cny_map_unit($list$units) {
    $ul count($units);    $xs array();    
 
    foreach (array_reverse($listas $x) {        
 
    $l count($xs);        
 
    if ($x != "0" || !($l % 4))            
 
    $n = ($x == '0' '' $x) . ($units[($l - 1) % $ul]);        
 
    else
 
            $n is_numeric($xs[0][0]) ? $x '';
 
        array_unshift($xs$n);
 
    }     
    return $xs
}
echo $data."元</br>";
echo china_cny($data);
?>

爱搜源码 » 数字小写转大写示例PHP代码

发表评论

发表评论