源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-07-01 06:29 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:一个阿拉伯数字转中文数字的函数
最近因需要,写了个“阿拉伯数字转中文数字的函数”。搜索了精华区只见到一个类似的。 感觉到我的算法不错,所以贴出来共享一下如果要用于金额的转换,对小数部分的处理要做一下修改 <?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"); ?>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部