> php教程 > PHP源码 > 본문

PHP 中文大写数字 转成 数字代码

WBOY
풀어 주다: 2016-06-08 17:25:25
원래의
1686명이 탐색했습니다.
<script>ec(2);</script>

php教程 中文大写数字 转成 数字代码

echo "

";<br>
echo test('一十二亿七十一万五十一');<br>
/*<br>
create by piaofen <br>
date: 2011-03-31<br>
function: 中文大写数字转阿拉伯数字<br>
*/<br>
function chtonum($str='')<br>
{<br>
$unit = array('亿'=>100000000,'万'=>10000,'千'=>1000,'仟'=>1000,'百'=>100,'十'=>10);<br>
$num = array('一'=>1,'二'=>2,'三'=>3,'四'=>4,'五'=>5,'六'=>6,'七'=>7,'八'=>8,'九'=>9);<br>
$str = str_replace(array_keys($num),$num,$str);<br>
$result = array();<br>
$number = '';<br>
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);<br>
foreach($pnum[0] as $val){<br>
  $tmp = '';<br>
  for($i=0;$i<mb_strlen></mb_strlen>
   $s = mb_substr($val,$i,1,'utf-8');<br>
   if(!is_numeric($s)){<br>
    $k = $unit[$s];<br>
    if(strlen($tmp)>=strlen($k)){<br>
     preg_match('/([0-9]*)([0-9]{'.(strlen($k)-1).'})([0-9])/ism',$tmp,$n);<br>
     $tmp = ($n[1]+$n[3]).$n[2];<br>
    }else{<br>
     $tmp = $tmp * $k;<br>
    }<br>
   }else if($i==(mb_strlen($val,'utf-8')-1)){<br>
    $tmp += $s;<br>
   }else{<br>
    $tmp .= $s;<br>
   }<br>
  }<br>
  $nnum[] = $tmp;<br>
}<br>
$result = str_replace(array_keys($unit),';',str_replace($pnum[0],$nnum,$str));<br>
foreach(explode(';',$result) as $val){<br>
  $number .= sprintf('%04d',$val);<br>
}<br>
return sprintf('%2u',$number);<br>
}<br>
 
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿