• 技术文章 >后端开发 >PHP问题

    php怎么实现数字转换为大写

    藏色散人藏色散人2021-09-12 09:47:38原创93

    php实现数字转换为大写的方法:1、创建一个PHP示例文件;2、定义一个“function cny($ns) {...}”方法;3、使用cny和“_cny_map_unit”方法进行转换即可。

    本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑

    php 数字怎么转换为大写?

    当我们在写支付账单的时候需要填写数字金额的大写,说真的平时没写还真写不出来,为了以后不出现尴尬的场面,还特意去练了那十个字。哈哈,当然,我们在php中也可以转换的,于是有了下面这个转换函数:

    /**
     * 金额的小写转大写
     * @param $ns int 输入的数字
     */
     function cny($ns) {
        static $cnums = array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"),    
        $cnyunits = array("圆", "角", "分"),    
        $grees = array("拾", "佰", "仟", "万", "拾", "佰", "仟", "亿");    
        list($ns1, $ns2) = explode(".", $ns, 2);    
        $ns2 = array_filter(array($ns2[1], $ns2[0]));    
        $ret = array_merge($ns2, array(implode("", _cny_map_unit(str_split($ns1), $grees)), ""));    
        $ret = implode("", array_reverse(_cny_map_unit($ret, $cnyunitss)));    
        return str_replace(array_keys($cnums), $cnums, $ret);
    }
    function _cny_map_unit($list, $units) {
        $ul = count($units);    $xs = array();    
        foreach (array_reverse($list) as $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;
    }

    推荐学习:《PHP视频教程

    以上就是php怎么实现数字转换为大写的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:PHP
    上一篇:如何解决php数组转json中文乱码问题 下一篇:如何解决php导入数据库乱码问题
    线上培训班

    相关文章推荐

    • PHP字符串学习之利用正则过滤字符,返回数字字符• PHP日期时间运用十四:将数字转换为月份名称• PHP数组学习之提取出数字元素拼接为一个新数组• php 数字怎么去掉逗号

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网