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


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 相关文章推荐
理解PHP5中static和const关键字的区别
Mar 19 PHP
10条PHP编程习惯助你找工作
Sep 29 PHP
php开发文档 会员收费1期
Aug 14 PHP
解析PHP 使用curl提交json格式数据
Jun 29 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
Feb 02 PHP
简单实用的网站PHP缓存类实例
Jul 18 PHP
CodeIgniter扩展核心类实例详解
Jan 20 PHP
PHP框架Laravel插件Pagination实现自定义分页
Apr 22 PHP
PHP屏蔽关键字实现方法
Nov 17 PHP
浅谈PHP的反射机制
Dec 15 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
Apr 25 PHP
Laravel 类和接口注入相关的代码
Oct 15 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
PHP4实际应用经验篇(4)
2006/10/09 PHP
简单解析PHP程序的运行流程
2016/06/23 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
php+redis在实际项目中HTTP 500: Internal Server Error故障排除
2017/02/05 PHP
RSA实现JS前端加密与PHP后端解密功能示例
2019/08/05 PHP
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
2014/01/02 Javascript
javascript setinterval 的正确语法如何书写
2014/06/17 Javascript
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
2015/09/09 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
2016/10/14 Javascript
js中利用cookie实现记住密码功能
2020/08/20 Javascript
深入理解JavaScript继承的多种方式和优缺点
2017/05/12 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
vue.js 实现评价五角星组件的实例代码
2018/08/13 Javascript
加快Vue项目的开发速度的方法
2018/12/12 Javascript
利用d3.js实现蜂巢图表带动画效果
2019/09/03 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
Python程序员开发中常犯的10个错误
2014/07/07 Python
Python脚本文件打包成可执行文件的方法
2015/06/02 Python
Python读写unicode文件的方法
2015/07/10 Python
Django model 中设置联合约束和联合索引的方法
2019/08/06 Python
python 实现单通道转3通道
2019/12/03 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
基于Python计算圆周率pi代码实例
2020/03/25 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
2020/05/25 Python
python Protobuf定义消息类型知识点讲解
2021/03/02 Python
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
2016/03/22 HTML / CSS
借款协议书范本
2014/04/22 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
JavaScript数组 几个常用方法总结
2021/11/11 Javascript