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


Posted in PHP onOctober 09, 2006

最近因需要,写了个“阿拉伯数字转中文数字的函数”。搜索了精华区只见到一个类似的。
感觉到我的算法不错,所以贴出来共享一下如果要用于金额的转换,对小数部分的处理要做一下修改
<?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 相关文章推荐
第十节--抽象方法和抽象类
Nov 16 PHP
PHP与SQL注入攻击[二]
Apr 17 PHP
PHP在字符断点处截断文字的实现代码
Apr 21 PHP
深入apache配置文件httpd.conf的部分参数说明
Jun 28 PHP
php快递单号查询接口使用示例
May 05 PHP
php生成excel列名超过26列大于Z时的解决方法
Dec 29 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
May 16 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
Oct 19 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
PHP多线程模拟实现秒杀抢单
Feb 07 PHP
php新建文件的方法实例
Sep 26 PHP
laravel 模型查询按照whereIn排序的示例
Oct 16 PHP
PHP与已存在的Java应用程序集成
Oct 09 #PHP
使用PHP模拟HTTP认证
Oct 09 #PHP
在PHP中使用XML
Oct 09 #PHP
使用PHP维护文件系统
Oct 09 #PHP
跟我学小偷程序之成功偷取首页(第三天)
Oct 09 #PHP
在apache下限制每个虚拟主机的并发数!!!!
Oct 09 #PHP
PHP4之真OO
Oct 09 #PHP
You might like
discuz安全提问算法
2007/06/06 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
2019/10/10 PHP
JavaScript XML和string相互转化实现代码
2011/07/04 Javascript
jQuery输入城市查看地图使用介绍
2013/05/08 Javascript
jquery 提示信息显示后自动消失的具体实现
2013/12/18 Javascript
浅谈Javascript中深复制
2014/12/01 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
CSS3实现动态背景登录框的代码
2015/07/28 Javascript
写给小白的JavaScript引擎指南
2015/12/04 Javascript
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
2016/05/17 Javascript
微信小程序开发探究
2016/12/27 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
20行js代码实现的贪吃蛇小游戏
2017/06/20 Javascript
seajs中模块依赖的加载处理实例分析
2017/10/10 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
2017/11/14 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
Vue分页器实现原理详解
2019/06/28 Javascript
浅谈vue中组件绑定事件时是否加.native
2019/11/09 Javascript
Vue Router中应用中间件的方法
2020/08/06 Javascript
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
pyqt4教程之实现windows窗口小示例分享
2014/03/07 Python
apache部署python程序出现503错误的解决方法
2017/07/24 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
Python学习之time模块的基本使用
2021/01/17 Python
美国百货齐全的精品网站,提供美式风格的产品:Overstock.com
2016/07/22 全球购物
Ajax的优点和缺点
2014/11/21 面试题
硕士研究生自我鉴定
2013/11/08 职场文书
小学生获奖感言范文
2014/02/02 职场文书
大学生志愿者活动总结
2014/06/27 职场文书
关于青春的演讲稿三分钟
2014/08/22 职场文书
金秋助学感谢信
2015/01/21 职场文书
2015年国培研修感言
2015/08/01 职场文书
幼儿教师师德培训心得体会
2016/01/09 职场文书
公安干警正风肃纪心得体会
2016/01/15 职场文书
Python Pytorch查询图像的特征从集合或数据库中查找图像
2022/04/09 Python