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


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+JS无限级可伸缩菜单详解(简单易懂)
Jan 02 PHP
PHP网站备份程序代码分享
Jun 10 PHP
使用PHPMyAdmin修复论坛数据库的图文方法
Jan 09 PHP
Smarty的配置与高级缓存技术分享
Jun 05 PHP
Session服务器配置指南与使用经验的深入解析
Jun 17 PHP
在PHP语言中使用JSON和将json还原成数组的方法
Jul 19 PHP
php+mysql+jquery实现日历签到功能
Feb 27 PHP
IIS 7.5 asp Session超时时间设置方法
Apr 17 PHP
php表单文件iframe异步上传实例讲解
Jul 26 PHP
PHP区块查询实现方法分析
May 12 PHP
php的无刷新操作实现方法分析
Feb 28 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数组函数序列之array_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
2016/05/26 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
解决laravel资源加载路径设置的问题
2019/10/14 PHP
javascript 动态数据下的锚点错位问题解决方法
2008/12/24 Javascript
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
合并table相同单元格的jquery插件分享(很精简)
2011/06/20 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
利用Angularjs和bootstrap实现购物车功能
2016/08/31 Javascript
详解微信小程序 wx.uploadFile 的编码坑
2017/01/23 Javascript
windows下vue-cli及webpack搭建安装环境
2017/04/25 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
2017/05/25 jQuery
基于JavaScript中标识符的命名规则介绍
2018/01/06 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
webpack打包js的方法
2018/03/12 Javascript
AngularJS 前台分页实现的示例代码
2018/06/07 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
vue里input根据value改变背景色的实例
2018/09/29 Javascript
关于node-bindings无法在Electron中使用的解决办法
2018/12/18 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
Django自定义manage命令实例代码
2018/02/11 Python
pycharm运行程序时在Python console窗口中运行的方法
2018/12/03 Python
python opencv捕获摄像头并显示内容的实现
2019/07/11 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
python 伯努利分布详解
2020/02/25 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
Pycharm中使用git进行合作开发的教程详解
2020/11/17 Python
HTML5 实现一个访问本地文件的实例
2012/12/13 HTML / CSS
HTML里显示pdf、word、xls、ppt的方法示例
2020/04/14 HTML / CSS
乐天旅游台湾网站:Rakuten Travel TW
2017/06/01 全球购物
《最大的“书”》教学反思
2014/02/14 职场文书
食品销售计划书
2014/04/26 职场文书
2015社区爱国卫生工作总结
2015/04/21 职场文书
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python