• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php如何实现数字转中文

php 搞代码 4年前 (2022-01-04) 21次浏览 已收录 0个评论

php数字转中文的实现方法:首先创建一个PHP示例文件;然后定义一个“cny”方法;接着在方法体内实现将数字拆分成整数小数,并分别赋值给变量;最后调用“cny”方法并输出转换结果即可。

推荐:《PHP教程》

在做程序的时候,我们会遇到要把数字的钱数转为中文的大写钱数

方法

function cny($money) {
    $cnums=array("零","壹","贰","叁","肆&quot<i style="color:transparent">来源gaodai$ma#com搞$$代**码网</i>;,"伍","陆","柒","捌","玖");
    $cnyunits=array("圆","角","分");
    $grees=array("拾","佰","仟","万","拾","佰","仟","亿");
    if(strpos($money,'.') !== false){ //拆分整数小数 分别赋值给变量
         list($int,$dec)=explode(".",$money,2);
    }else{
        list($int,$dec)=[$money,0];
    }
    $dec=array_filter(array($dec[1],$dec[0])); //过滤分数
    $ret=array_merge($dec,array(implode("",cny_to_unit(str_split($int),$grees)),"")); //先处理单位
    $ret=implode("",array_reverse(cny_to_unit($ret,$cnyunits)));
    return str_replace(array_keys($cnums),$cnums,$ret);
}
function cny_to_unit($list,$units) {
    $ul=count($units);
    $xs=array();
    foreach (array_reverse($list) as $x) { /反转数组便于处理
        $l=count($xs);
        if ($x!="0" || !($l%4)) {
            if ($l != 0) {
                $n=($x=='0'?'':$x).($units[($l-1)%$ul]);
            }else{
                $n=($x=='0'?'':$x);
            }
        }
        else {
            $n=is_numeric($xs[0][0])?$x:'';
        }
        array_unshift($xs,$n);
    }
    return $xs;
}

调用函数

echo cny('120');

调用函数

echo cny('120.18');

小编在网站上找到很多的栗子,觉得这个是代码最少的,但是我在用的过程中,会报数组溢出等错误,所以现在是小编改造过的代码。大家可以灵活运用

以上就是php如何实现数字转中文的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php如何实现数字转中文

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址