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时的4个配置修改说明

以下就是部署PHP时的4个配置修改说明,大家一个一个进行学习研究。 1、short_open_tag 是什么呢? 决定是否允许使用代码开始标志的缩写形式(<? ?&...

PHP 编程请选择正确的文本编辑软件

如果您在修改任何PHP文件后发生:     不能登入或者不能登出;     页顶出现一条空白;  ...

php实现网页缓存的工具类分享

php程序在抵抗大流量访问的时候动态网站往往都是难以招架,所以要引入缓存机制,一般情况下有两种类型缓存 一、文件缓存 二、数据查询结果缓存,使用内存来实现高速缓存 本例主要使用文件缓存。...

浅析php header 跳转

PHP的header函数 可以很少代码就能实现HTML代码中META 标签这里只说用 header函数来做页面的跳转 1. HTML代码中页面的跳转的代码HTML meta refres...

php多数据库支持的应用程序设计第1/2页

所以我想在主从数据库设计上,应该将所有会话相关表进行特殊对待。即:所有的会话数据表都可以更新和查询,当一个用户访问站点的时候,即将此用户绑定到指定数据库,所有会话访问和查询操作都对此数据...