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


Posted in PHP onJuly 10, 2008

如果要用于金额的转换,对小数部分的处理要做一下修改

<?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 相关文章推荐
Http 1.1 Etag 与 Last-Modified提高php效率
Jan 10 PHP
PHP 身份验证方面的函数
Oct 11 PHP
PHP判断图片格式的七种方法小结
Jun 03 PHP
PHP的魔术常量__METHOD__简介
Jul 08 PHP
php通过排列组合实现1到9数字相加都等于20的方法
Aug 03 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
Sep 14 PHP
PHP编程入门的基本语法知识点总结
Jan 26 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
Oct 28 PHP
CI框架数据库查询缓存优化的方法
Nov 21 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
Apr 12 PHP
redis+php实现微博(二)发布与关注功能详解
Sep 23 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
May 14 PHP
兼容PHP5的PHP目录管理函数库
Jul 10 #PHP
php 防止单引号,双引号在接受页面转义
Jul 10 #PHP
功能齐全的PHP发送邮件类代码附详细说明
Jul 10 #PHP
使用PHP批量生成随机用户名
Jul 10 #PHP
用PHP与XML联手进行网站编程代码实例
Jul 10 #PHP
PHP写入WRITE编码为UTF8的文件的实现代码
Jul 07 #PHP
PHP远程连接MYSQL数据库非常慢的解决方法
Jul 05 #PHP
You might like
PHP简单系统查询模块代码打包下载
2008/06/07 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
JavaScript 异步调用框架 (Part 1 - 问题 &amp; 场景)
2009/08/03 Javascript
Javascript下判断是否为闰年的Datetime包
2010/10/26 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
Jquery显示和隐藏元素或设为只读(含Ligerui的控件禁用,实例说明介绍)
2013/07/09 Javascript
jquery.mousewheel实现整屏翻屏效果
2015/08/30 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
2016/06/02 Javascript
node+express制作爬虫教程
2016/11/11 Javascript
JS无缝滚动效果实现方法分析
2016/12/21 Javascript
Vue.js简易安装和快速入门(第二课)
2017/10/17 Javascript
canvas轨迹回放功能实现
2017/12/20 Javascript
详解使用webpack构建多页面应用
2017/12/21 Javascript
在vue项目中,使用axios跨域处理
2018/03/07 Javascript
vue中封装axios并实现api接口的统一管理
2020/12/25 Vue.js
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
[54:25]Ti4 循环赛第三日LGD vs MOUZ
2014/07/12 DOTA
python 实现堆排序算法代码
2012/06/05 Python
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
python中json格式数据输出的简单实现方法
2016/10/31 Python
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
Python通过for循环理解迭代器和生成器实例详解
2019/02/16 Python
python快排算法详解
2019/03/04 Python
python 求10个数的平均数实例
2019/12/16 Python
Python模块的制作方法实例分析
2019/12/21 Python
tensorflow tf.train.batch之数据批量读取方式
2020/01/20 Python
keras 多任务多loss实例
2020/06/22 Python
python实现登录与注册系统
2020/11/30 Python
CSS3实现粒子旋转伸缩加载动画
2016/04/22 HTML / CSS
网络方面基础面试题
2012/11/16 面试题
贺卡寄语大全
2014/04/11 职场文书
法人身份证明书
2014/10/08 职场文书
创建文明城市倡议书
2015/04/28 职场文书
Java8 CompletableFuture 异步回调
2022/04/28 Java/Android