首页 >后端开发 >PHP问题 >php怎么实现数字转换为大写

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

藏色散人
藏色散人原创
2021-09-12 09:47:062855浏览

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

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

本文操作环境: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;
}

相关介绍:

is_numeric() 函数用于检测变量是否为数字或数字字符串。

PHP 版本要求:PHP 4, PHP 5, PHP 7

语法

bool is_numeric ( mixed $var )

参数说明:

$var:要检测的变量。

返回值

如果指定的变量是数字和数字字符串则返回 TRUE,否则返回 FALSE,注意浮点型返回 1,即 TRUE。

推荐学习:《PHP视频教程

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn