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


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中数据的批量导入(csv文件)
Oct 09 PHP
php中文字母数字验证码实现代码
Apr 25 PHP
php自定义函数call_user_func和call_user_func_array详解
Jul 14 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
Jan 22 PHP
PHP实现XML与数据格式进行转换类实例
Jul 29 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
Nov 30 PHP
THINKPHP在添加数据的时候获取主键id的值方法
Apr 03 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
Jul 09 PHP
php和C#的yield迭代器实现方法对比分析
Jul 17 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
Sep 18 PHP
php设计模式之工厂模式用法经典实例分析
Sep 20 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
sphinx增量索引的一个问题
2011/06/14 PHP
php适配器模式介绍
2012/08/14 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
2016/05/09 PHP
Laravel学习基础之migrate的使用教程
2017/10/11 PHP
PHP通过文件路径获取文件名的实例代码
2018/10/14 PHP
Opacity.js
2007/01/22 Javascript
Javascript实现的鼠标经过时播放声音
2010/05/18 Javascript
在JS中最常看到切最容易迷惑的语法(转)
2010/10/29 Javascript
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
javascript获取form里的表单元素的示例代码
2014/02/14 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
浅谈javascript中遇到的字符串对象处理
2016/11/18 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
基于vue2的table分页组件实现方法
2017/03/20 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
Angular2进阶之如何避免Dom误区
2018/04/02 Javascript
Vue $emit $refs子父组件间方法的调用实例
2018/09/12 Javascript
一文读懂ES7中的javascript修饰器
2019/05/06 Javascript
JavaScript一元正号运算符示例代码
2019/06/30 Javascript
js实现无缝滚动双图切换效果
2019/07/09 Javascript
vue cli3 配置proxy代理无效的解决
2019/10/30 Javascript
javascript设计模式 ? 原型模式原理与应用实例分析
2020/04/10 Javascript
Python常见文件操作的函数示例代码
2011/11/15 Python
Python教程之全局变量用法
2016/06/27 Python
Django Highcharts制作图表
2016/08/27 Python
python3中dict(字典)的使用方法示例
2017/03/22 Python
python+selenium实现自动抢票功能实例代码
2018/11/23 Python
快速查找Python安装路径方法
2020/02/06 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
突袭HTML5之Javascript API扩展1—Web Worker异步执行及相关概述
2013/01/31 HTML / CSS
美国指甲油品牌:Deco Miami
2017/01/30 全球购物
中考冲刺决心书
2014/03/11 职场文书
小学生植树节活动总结
2014/07/04 职场文书
工作作风承诺书
2014/08/30 职场文书
护士个人年度总结范文
2015/02/13 职场文书
goland 设置project gopath的操作
2021/05/06 Golang