Home  >  Article  >  php教程  >  一个阿拉伯数字转中文数字的函数,阿拉伯中文

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

WBOY
WBOYOriginal
2016-06-13 09:29:331051browse

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

 

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

     
 

详细说明:http://php.662p.com/thread-364-1-1.html

Excel 2010怎把阿拉伯数字转成中文大写数字?(不要函数,有没有工具直接转换)

右键单元格,选择"设置单元格格式",
"数字"标签中左侧选择"特殊",右侧选择"中文大写数字"
 

在excel中 怎将中文表示的数字转换为阿拉伯数字??

没有此方面的直接方法,得看你的数据有什么样的规则,才能决定用什么函数帮忙。请举个例子,详细一些,如果不行,请传文件过来分析。
 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn