php怎么将数字转换成英文
php将数字转换成英文的方法:1、创建一个PHP示例文件;2、通过“function umoney($num,$type="usd") {...}”方法将数字转换成英文即可。
成都创新互联长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为南部企业提供专业的成都网站建设、做网站,南部网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。
本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。
php 怎么将数字转换成英文?
PHP 金额数字转换成英文
找了很久,搜索的关键词总是词不达意似的。
代码如下:
= 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个数字,则不加','$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 "";//小数位的处理400.21if(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 {//非小数位的处理if(($num_str+0)!=0) {$resultArray[$k++]=format3num($num_str+0);$resultArray[$k++]=$commaTable[--$cc];//判断:除小数外其余若不为零则加andfor($j=$i; $j <= $cc; $j++) {//echo "
";//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) {//100return $numTable[$bitenum[0]].$commaTable[0];} elseif($bitenum[1]==0) {//102return $numTable[$bitenum[0]].$commaTable[0].$numTable[$bitenum[2]];} elseif ($bitenum[2]==0) {//120return $numTable[$bitenum[0]].$commaTable[0].$numTable[$bitenum[1]*10];} else {//123return $numTable[$bitenum[0]].$commaTable[0].trim($numTable[$bitenum[1]*10])."-".$numTable[$bitenum[2]];}}return $num;}?>
推荐学习:《PHP视频教程》
文章名称:php怎么将数字转换成英文
本文链接:http://cdiso.cn/article/cghohi.html