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


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中对数据库操作的封装
Oct 09 PHP
PHP Array交叉表实现代码
Aug 05 PHP
PHP用GD库生成高质量的缩略图片
Mar 09 PHP
PHP同时连接多个mysql数据库示例代码
Mar 17 PHP
php 批量添加多行文本框textarea一行一个
Jun 03 PHP
ThinkPHP应用模式扩展详解
Jul 16 PHP
PHP中的命名空间相关概念浅析
Jan 22 PHP
Zend Framework教程之模型Model用法简单实例
Mar 04 PHP
详解PHP处理密码的几种方式
Nov 30 PHP
Python中使用django form表单验证的方法
Jan 16 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
PHP超全局变量实现原理及代码解析
Sep 01 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之CodeIgniter学习笔记
2013/06/17 PHP
php从csv文件读取数据并输出到网页的方法
2015/03/14 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
2015/10/20 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
详解JavaScript函数绑定
2013/08/18 Javascript
以Python代码实例展示kNN算法的实际运用
2015/10/26 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
2016/02/19 Javascript
AngularJs  Understanding Angular Templates
2016/09/02 Javascript
JS前向后瞻正则表达式定义与用法示例
2016/12/27 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
javascript构造函数以及原型对象的理解
2017/01/13 Javascript
Javascript中document.referrer隐藏来源的方法
2017/01/16 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
红黑树的插入详解及Javascript实现方法示例
2018/03/26 Javascript
微信jssdk逻辑在vue中的运用详解
2018/11/14 Javascript
让python同时兼容python2和python3的8个技巧分享
2014/07/11 Python
Python中用altzone()方法处理时区的教程
2015/05/22 Python
利用Python学习RabbitMQ消息队列
2015/11/30 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
python: 判断tuple、list、dict是否为空的方法
2018/10/22 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
python动态进度条的实现代码
2019/07/03 Python
django 使用全局搜索功能的实例详解
2019/07/18 Python
Pytest框架之fixture的详细使用教程
2020/04/07 Python
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
澳大利亚旅游网站:Lastminute
2017/08/07 全球购物
运动会解说词100字
2014/01/31 职场文书
党风廉正建设责任书
2015/01/29 职场文书
导游词怎么写
2015/02/04 职场文书
领导离职感言
2015/08/03 职场文书
给校长的建议书作文500字
2015/09/14 职场文书
工程移交协议书
2016/03/24 职场文书
python必学知识之文件操作(建议收藏)
2021/05/30 Python