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


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 选项及相关信息函数库
Dec 04 PHP
php Smarty date_format [格式化时间日期]
Mar 15 PHP
使用php验证复选框有效性的示例
Nov 13 PHP
修改apache配置文件去除thinkphp url中的index.php
Jan 17 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
Jun 24 PHP
试用php中oci8扩展
Jun 18 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
Sep 11 PHP
php利用嵌套数组拼接与解析json的方法
Feb 07 PHP
php简单生成一组与多组随机字符串的方法
May 09 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
Jun 11 PHP
PHP bin2hex()函数基础实例讲解
Feb 11 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
Aug 30 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
桌面中心(四)数据显示
2006/10/09 PHP
php环境无法上传文件的解决方法
2014/04/30 PHP
php的慢速日志引起的Mysql错误问题分析
2014/05/13 PHP
PHP遍历目录并返回统计目录大小
2014/06/09 PHP
PHP文件上传判断file是否己选择上传文件的方法
2014/11/10 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
Yii框架Session与Cookie使用方法示例
2019/10/14 PHP
JS中Iframe之间传值的方法
2013/03/11 Javascript
对jQuery的事件绑定的一些思考(补充)
2013/04/20 Javascript
jQuery中click事件的定义和用法
2014/12/20 Javascript
JS折半插入排序算法实例
2015/12/02 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
AngularJs  Using $location详解及示例代码
2016/09/02 Javascript
浅谈js中的引用和复制(传值和传址)
2016/09/18 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
vue中路由验证和相应拦截的使用详解
2017/12/13 Javascript
js数组方法reduce经典用法代码分享
2018/01/07 Javascript
vue双向绑定及观察者模式详解
2019/03/19 Javascript
layui复选框的全选与取消实现方法
2019/09/02 Javascript
python使用datetime模块计算各种时间间隔的方法
2015/03/24 Python
Python生成器定义与简单用法实例分析
2018/04/30 Python
uwsgi+nginx部署Django项目操作示例
2018/12/04 Python
Python集中化管理平台Ansible介绍与YAML简介
2019/06/12 Python
python 基于dlib库的人脸检测的实现
2019/11/08 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
使用phonegap克隆和删除联系人的实现方法
2017/03/31 HTML / CSS
Elemental Herbology官网:英国美容品牌
2019/04/27 全球购物
职业规划书如何设计?
2014/01/09 职场文书
航海技术专业毕业生求职信
2014/04/06 职场文书
人力资源管理毕业求职信
2014/08/05 职场文书
自我检讨报告
2015/01/28 职场文书
导游词范文
2015/02/13 职场文书
介绍信范文大全
2015/05/07 职场文书
薪资证明范本
2015/06/19 职场文书
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
2021/05/12 Python
MySQL自定义函数及触发器
2022/08/05 MySQL