数字转英文
2018-09-07 13:45
  <?php//___{xf_num2en}________________________________________ 
//***說明:數值轉英文表示法 
//===回傳:<string> 
//---NN)數值FF)小數位 
//============================================================ 
functionxf_num2en($NN,$FF=0){ 
//===[前置]======================================== 
if(!is_numeric($NN))return; 
($FF>2)and$FF=2; 
$xn=;$xf=; 
global$enws; 
$enws=array( 
0=>zero,1=>one,2=>two,3=>three,4=>four, 
5=>five,6=>six,7=>seven,8=>eight,9=>nine, 
10=>ten,11=>eleven,12=>twelve, 
13=>thirteen,14=>fourteen,15=>fifteen, 
16=>sixteen,17=>seventeen,18=>eighteen,19=>nineteen, 
20=>twenty,30=>thirty,40=>forty,50=>fifty, 
60=>sixty,70=>seventy,80=>eighty,90=>ninety); 
//===[整數]======================================== 
$nk=floor($NN); 
$cnt=0; 
while($nk){ 
$n=$nk%1000; 
if($n){ 
$x=xf_enNum4($n); 
if($cnt==1)$xn=$x.thousand.$xn; 
elseif($cnt==2)$xn=$x.million.$xn; 
elseif($cnt==3)$xn=$x.billion.$xn; 
elseif($cnt==4)$xn=$x.trillion.$xn; 
else$xn=$x; 
} 
$cnt+=1; 
$nk=floor($nk/1000); 
}//--while 
//===[小數]======================================== 
if($FF>0){ 
$n=floor($NN*100)%100; 
($n)and$xf=xf_enNum4($n).cent; 
} 
return$xn.$xf; 
}//--xf_num2en 
functionxf_enNum4($NN){ 
global$enws; 
$ans=; 
$n=floor($NN/100); 
($n)and$ans=$enws[$n].hundred; 
$n=$NN%100; 
if($n){ 
if($n<20)$ans.=$enws[$n].; 
else{ 
$m=floor($n/10)*10; 
$ans.=$enws[$m].; 
$n=$n%10; 
($n)and$ans.=$enws[$n].; 
} 
} 
return$ans; 
}//--xf_enNum4?> 
上一篇:php生出随机字符串