数字转英文

时间:2021-05-18

<?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?>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章