数字大写 php 代码,PHP 中文大写数字 转成 数字代码
echo "";
echo test('一十二億七十一萬五十一');
/*
create by piaofen
date: 2011-03-31
function: 中文大寫數(shù)字轉(zhuǎn)阿拉伯數(shù)字
*/
function chtonum($str='')
{
$unit = array('億'=>100000000,'萬'=>10000,'千'=>1000,'仟'=>1000,'百'=>100,'十'=>10);
$num = array('一'=>1,'二'=>2,'三'=>3,'四'=>4,'五'=>5,'六'=>6,'七'=>7,'八'=>8,'九'=>9);
$str = str_replace(array_keys($num),$num,$str);
$result = array();
$number = '';
preg_match_all('/[0-9]千[0-9]百[0-9]十[0-9]|[0-9]百[0-9]十[0-9]|[0-9]十[0-9]|[0-9]/ism',$str,$pnum);
foreach($pnum[0] as $val){
$tmp = '';
for($i=0;$i
$s = mb_substr($val,$i,1,'utf-8');
if(!is_numeric($s)){
$k = $unit[$s];
if(strlen($tmp)>=strlen($k)){
preg_match('/([0-9]*)([0-9]{'.(strlen($k)-1).'})([0-9])/ism',$tmp,$n);
$tmp = ($n[1]+$n[3]).$n[2];
}else{
$tmp = $tmp * $k;
}
}else if($i==(mb_strlen($val,'utf-8')-1)){
$tmp += $s;
}else{
$tmp .= $s;
}
}
$nnum[] = $tmp;
}
$result = str_replace(array_keys($unit),';',str_replace($pnum[0],$nnum,$str));
foreach(explode(';',$result) as $val){
$number .= sprintf('%04d',$val);
}
return sprintf('%2u',$number);
}
總結(jié)
以上是生活随笔為你收集整理的数字大写 php 代码,PHP 中文大写数字 转成 数字代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网页自动调入软键盘输入中文
- 下一篇: 动态规划算法php,php算法学习之动态