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

2016-01-29 15:00 34 1 收藏

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

【 tulaoshi.com - PHP 】

 

最近因需要,写了个“阿拉伯数字转中文数字的函数”。搜索了精华区只见到一个类似的。
感觉到我的算法不错,所以贴出来共享一下如果要用于金额的转换,对小数部分的处理要做一下修改
<?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;
}

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/php/)

//echo ch_num("12345006789001.123");
//echo ch_num("880079.1234");
echo ch_num("300045.0123");

?

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/php/) 

来源:https://www.tulaoshi.com/n/20160129/1495003.html

延伸阅读
标签: 口味食谱
阿拉伯饼 准备所有用料 按顺序将材料倒入面包机中,选择“发酵面团”,约一个半小时后,你再回来。<br>倒料的顺序为:水--糖--盐--油--面粉--酵母 分成均匀的小剂子,大点小点无所谓,...
标签: word
Word文档快速输入大写中文数字的教程   在Word文档中输入一大串大写中文数字(如壹拾贰万零捌佰伍拾)比较麻烦,实际上可以通过输入阿拉伯数字转化为大写中文数字的方法进行输入,方法如下: 第一步:编辑文档,需要输入大写数字时。 第二步:单击插入选项卡。 第三步:在插入选项卡中选择数字点击,弹出数字对...
标签: word
在Word中快速输入大写中文数字的方法   在一些特殊领域,例如银行等金融部门,经常需要输入中文的数字,一次两次可以,但是输入次数多了未免太麻烦了,这里介绍一种快速输入中文数字的方法: 执行插入菜单上的数字命令,在弹出的数字对话框中输入需要的数字,如输入1231291,然后在数字类型里面选择中文数字版式壹、贰、叁.. ,...
阿拉伯棒 1. 先把黄油软化~和鸡蛋~糖粉一起搅拌均匀 2. 加入面粉和成团~用擀面杖擀成厚0.8cm的饼 3. 切成长条~拧成图片上的形状~放入烤盘~ 4. 表...
标签: 牛肉
阿拉伯牛肉薄饼怎么做最好吃怎么做阿拉伯牛肉薄饼好吃 牛肉馅饼 材料 高筋面粉,牛肉馅,洋葱,黑胡椒,海鲜酱油,盐,油 做法 1.面粉揉好,揉的稀一点,发开。 2.牛肉馅放碗里,加洋葱末、盐、黑胡椒(多放)、海鲜酱油(多放)、顺一个方向搅拌拌匀,加点油,再拌匀。 3.面下好剂着一个个包好,上锅烙。 牛肉馅饼 ...

经验教程

569

收藏

45
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部