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


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 相关文章推荐
PHP动态创建Web站点的方法
Aug 14 PHP
对象失去焦点时自己动提交数据的实现代码
Nov 06 PHP
在PHP中使用redis
Nov 04 PHP
php警告Creating default object from empty value 问题的解决方法
Apr 02 PHP
php的curl封装类用法实例
Nov 07 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
Mar 23 PHP
深入理解PHP 数组之count 函数
Jun 13 PHP
php中的抽象方法和抽象类
Feb 14 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
Nov 16 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
Sep 30 PHP
用php定义一个数组最简单的方法
Oct 04 PHP
PHP执行普通shell命令流程解析
Aug 24 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
php同时使用session和cookie来保存用户登录信息的实现代码
2016/05/13 PHP
PHP Class SoapClient not found解决方法
2018/01/20 PHP
laravel-admin 在列表页添加自定义按钮的例子
2019/09/30 PHP
PHP扩展安装方法步骤解析
2020/11/24 PHP
js的event详解。
2006/09/06 Javascript
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
jQuery 第二课 操作包装集元素代码
2010/03/14 Javascript
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
JS Date函数整理方便使用
2013/10/23 Javascript
详解JS 比较两个Json对象的值是否相等的实例
2013/11/20 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
在IE8上JS实现combobox支持拼音检索功能
2016/05/23 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
基于javascript的异步编程实例详解
2017/04/10 Javascript
JS库之Waypoints的用法详解
2017/09/13 Javascript
JS异步函数队列功能实例分析
2017/11/28 Javascript
bootstrap响应式工具使用详解
2017/11/29 Javascript
vue项目中使用vue-i18n报错的解决方法
2019/01/13 Javascript
node-red File读取好保存实例讲解
2019/09/11 Javascript
使用python脚本实现查询火车票工具
2018/07/19 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
python 初始化一个定长的数组实例
2019/12/02 Python
Python从文件中读取数据的方法步骤
2020/11/18 Python
UGG雪地靴荷兰官网:UGG荷兰
2016/09/09 全球购物
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
澳大利亚在线床零售商:Bedworks
2020/09/01 全球购物
高中的职业生涯规划书
2013/12/28 职场文书
初中考试作弊检讨书
2014/02/01 职场文书
目标管理责任书
2014/04/15 职场文书
实习公司领导推荐函
2014/05/21 职场文书
小学感恩教育活动总结
2014/07/07 职场文书
六查六看自检自查剖析材料
2014/10/14 职场文书
确保工程质量承诺书
2015/04/29 职场文书
2015年社区重阳节活动总结
2015/07/30 职场文书
解析高可用Redis服务架构分析与搭建方案
2021/06/20 Redis
5行Python代码实现一键批量扣图
2021/06/29 Python