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

yipeiwu_com7年前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使用strtotime获取上个月、下个月、本月的日期

今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一...

PHP中调用C/C++制作的动态链接库的教程

一般而言,php速度已经比较快,但是,对于一些较高级开发者而言,如果想要追求更快的速度,那毫无疑问可以通过自己写c代码,并编译为动态链接库(常为.so文件),然后php通过创建一个新的扩...

php ci框架中加载css和js文件失败的解决方法

在将html页面整合到ci框架里面的时候,加载css和js失败,弄了半天发现ci框架是入口的框架,对框架中文件的所有请求都需要经过index.php处理完成,当加载外部的css和js文件...

详解PHP中的mb_detect_encoding函数使用方法

php中可以使用 mb_detect_encoding() 函数来判断字符串是什么编码的。 当在php中使用mb_detect_encoding函数进行编码识别时,很多人都碰到过识别编码...

PHP使用flock实现文件加锁的方法

本文实例讲述了PHP使用flock实现文件加锁的方法。分享给大家供大家参考。具体分析如下: flock在官方文档里的解释是:flock() 允许你执行一个简单的可以在任何平台中使用的读取...