您好,登錄后才能下訂單哦!
這篇文章主要講解了“php如何將數(shù)字轉換成英文”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“php如何將數(shù)字轉換成英文”吧!
php將數(shù)字轉換成英文的方法:1、創(chuàng)建一個PHP示例文件;2、通過“function umoney($num,$type="usd") {...}”方法將數(shù)字轉換成英文即可。
本文操作環(huán)境:Windows7系統(tǒng),PHP7.4版,Dell G3電腦。
php 怎么將數(shù)字轉換成英文?
PHP 金額數(shù)字轉換成英文
找了很久,搜索的關鍵詞總是詞不達意似的。
代碼如下:
<?php $num=1220.01; echo fmoney($num);//結果:1,220.21 echo umoney($num); //結果:ONE THOUSAND AND TWO HUNDRED TWENTY DOLLARS AND TWENTY-ONE CENTS ONLY echo umoney($num,"rmb"); //結果:ONE THOUSAND AND TWO HUNDRED TWENTY YUAN AND TWENTY-ONE FEN ONLY //define //格式化貨幣 function fmoney($num) { $num=0+$num; $num = sprintf("%.02f",$num); if(strlen($num) <= 6) return $num; //從最后開始算起,每3個數(shù)它加一個"," for($i=strlen($num)-1,$k=1, $j=100; $i >= 0; $i--,$k++) { $one_num = substr($num,$i,1); if($one_num ==".") { $numArray[$j--] = $one_num; $k=0; continue; } if($k%3==0 and $i!=0) { //如果正好只剩下3個數(shù)字,則不加',' $numArray[$j--] = $one_num; $numArray[$j--] = ","; $k=0; } else { $numArray[$j--]=$one_num; } } ksort($numArray); return join("",$numArray); } function umoney($num,$type="usd") { global $numTable,$commaTable,$moneyType; //global $numTable; $numTable[0]="ZERO "; $numTable[1]="ONE "; $numTable[2]="TWO "; $numTable[3]="THREE "; $numTable[4]="FOUR "; $numTable[5]="FIVE "; $numTable[6]="SIX "; $numTable[7]="SEVEN "; $numTable[8]="EIGHT "; $numTable[9]="NINE "; $numTable[10]="TEN "; $numTable[11]="ELEVEN "; $numTable[12]="TWELVE "; $numTable[13]="THIRTEEN "; $numTable[14]="FOURTEEN "; $numTable[15]="FIFTEEN "; $numTable[16]="SIXTEEN "; $numTable[17]="SEVENTEEN "; $numTable[18]="EIGHTEEN "; $numTable[19]="NINETEEN "; $numTable[20]="TWENTY "; $numTable[30]="THIRTY "; $numTable[40]="FORTY "; $numTable[50]="FIFTY "; $numTable[60]="SIXTY "; $numTable[70]="SEVENTY "; $numTable[80]="EIGHTY "; $numTable[90]="NINETY "; $commaTable[0]="HUNDRED "; $commaTable[1]="THOUSAND "; $commaTable[2]="MILLION "; $commaTable[3]="MILLIARD "; $commaTable[4]="BILLION "; $commaTable[5]="????? "; //單位 $moneyType["usd"]="DOLLARS "; $moneyType["usd_1"]="CENTS ONLY"; $moneyType["rmb"]="YUAN "; $moneyType["rmb_1"]="FEN ONLY"; if($type=="") $type="usd"; $fnum = fmoney($num); $numArray = explode(",",$fnum); $resultArray = array(); $k=0; $cc=count($numArray); for($i = 0; $i < count($numArray); $i++) { $num_str = $numArray[$i]; //echo "<br>"; //小數(shù)位的處理400.21 if(eregi("\.",$num_str)) { $dotArray = explode(".",$num_str); if($dotArray[1] != 0) { $resultArray[$k++]=format3num($dotArray[0]+0); $resultArray[$k++]=$moneyType[strtolower($type)]; $resultArray[$k++]="AND "; $resultArray[$k++]=format3num($dotArray[1]+0); $resultArray[$k++]=$moneyType[strtolower($type)."_1"]; } else { $resultArray[$k++]=format3num($dotArray[0]+0); $resultArray[$k++]=$moneyType[strtolower($type)]; } } else { //非小數(shù)位的處理 if(($num_str+0)!=0) { $resultArray[$k++]=format3num($num_str+0); $resultArray[$k++]=$commaTable[--$cc]; //判斷:除小數(shù)外其余若不為零則加and for($j=$i; $j <= $cc; $j++) { //echo "<br>"; //echo $numArray[$j]; if($numArray[$j] !=0) { $resultArray[$k++]="AND "; break; } } } } } return join("",$resultArray); } function format3num($num) { global $numTable,$commaTable; $numlen = strlen($num); for($i = 0,$j = 0;$i < $numlen; $i++) { $bitenum[$j++] = substr($num,$i,1); } if($num==0) return ""; if($numlen == 1) return $numTable[$num]; if($numlen == 2) { if($num <= 20) return $numTable[$num]; //第一位不可能零 if($bitenum[1]==0) { return $numTable[$num]; } else { return trim($numTable[$bitenum[0]*10])."-".$numTable[$bitenum[1]]; } } //第一個不可能為零 if($numlen == 3) { if($bitenum[1]==0 && $bitenum[2]==0) { //100 return $numTable[$bitenum[0]].$commaTable[0]; } elseif($bitenum[1]==0) { //102 return $numTable[$bitenum[0]].$commaTable[0].$numTable[$bitenum[2]]; } elseif ($bitenum[2]==0) { //120 return $numTable[$bitenum[0]].$commaTable[0].$numTable[$bitenum[1]*10]; } else { //123 return $numTable[$bitenum[0]].$commaTable[0].trim($numTable[$bitenum[1]*10])."-".$numTable[$bitenum[2]]; } } return $num; } ?>
感謝各位的閱讀,以上就是“php如何將數(shù)字轉換成英文”的內容了,經(jīng)過本文的學習后,相信大家對php如何將數(shù)字轉換成英文這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。