php下实现一个阿拉伯数字转中文数字的函数

yipeiwu_com6年前PHP代码库
如果要用于金额的转换,对小数部分的处理要做一下修改

<?php
function ch_num($num,$mode=true) {
$char = array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
$dw = array("","拾","佰","仟","","萬","億","兆");
$dec = "點";
$retval = "";

if($mode)
preg_match_all("/^0*(\d*)\.?(\d*)/",$num, $ar);
else
preg_match_all("/(\d*)\.?(\d*)/",$num, $ar);

if($ar[2][0] != "")
$retval = $dec . ch_num($ar[2][0],false); //如果有小数,先递归处理小数
if($ar[1][0] != "") {
$str = strrev($ar[1][0]);
for($i=0;$i<strlen($str);$i++) {
$out[$i] = $char[$str[$i]];
if($mode) {
$out[$i] .= $str[$i] != "0"? $dw[$i%4] : "";
if($str[$i]+$str[$i-1] == 0)
$out[$i] = "";
if($i%4 == 0)
$out[$i] .= $dw[4+floor($i/4)];
}
}
$retval = join("",array_reverse($out)) . $retval;
}
return $retval;
}

//echo ch_num("12345006789001.123");
//echo ch_num("880079.1234");
echo ch_num("300045.0123");

?>

相关文章

PHP中redis的用法深入解析

PHP中redis的用法深入解析

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合...

PHP判断一个变量是否为整数、正整数的方法示例

在PHP中判断一个变量是否为整数 在写PHP代码的时候遇到这样一个小问题:如何判断一个变量是否为整数,于是在网上找到了两个方法来解决,在此做一个小小的记录。 方法1 <...

使用ThinkPHP自带的Http类下载远程图片到本地的实现代码

Http类在目录ThinkPHP/Lib/ORG/Net下面。接下来看看是如何调用的。 复制代码 代码如下: <?php import("Com.Buyback.QueryAmaz...

PHP 日,周,月点击排行统计

复制代码 代码如下: $now=time(); //当前时间 $StrUpdate = "Update $tbl_article set hits=hits+1"; if(date("d...

探讨PHP调用时间格式的参数详解

1、调用语法使用函式date() 实现获取当前的时间格式,例如: 2、时间格式参数设定上面语法中”Y-m-d H:i:s”,显示的格式为: 年-月-日 小时:分钟:秒这样看来,我们只要获...