PHP 金额数字转换成英文
2015-01-24信息快讯网
找了很久,搜索的关键词总是词不达意似的。
<?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个数它加一个"," 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个数字,则不加',' $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>"; //小数位的处理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 { //非小数位的处理 if(($num_str+0)!=0) { $resultArray[$k++]=format3num($num_str+0); $resultArray[$k++]=$commaTable[--$cc]; //判断:除小数外其余若不为零则加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表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
php中使用Curl、socket、file_get_contents三种方法POST提交数据
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
php的urlencode()URL编码函数浅析
linux下使用ThinkPHP需要注意大小写导致的问题
linux下为php添加curl扩展的方法
PHP 数据结构 算法描述 冒泡排序 bubble sort
php守护进程 加linux命令nohup实现任务每秒执行一次
mysql_num_rows VS COUNT 效率问题分析
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
PHP5中使用DOM控制XML实现代码
php源码加密 仿微盾PHP加密专家(PHPCodeLock)
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
PHP中冒号、endif、endwhile、endfor使用介绍
PHP执行linux系统命令的常用函数使用说明
php file_get_contents函数轻松采集html数据
用PHP获取Google AJAX Search API 数据的代码
PHP clearstatcache()函数详解
Linux下将excel数据导入到mssql数据库中的方法
PHP XML操作类DOMDocument
PHP Document 代码注释规范
linux php mysql数据库备份实现代码
Google PR查询接口checksum新算法第1/2页
PDP Document 代码注释规范第1/2页
linux下 C语言对 php 扩展
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
什么是phpDocumentor第1/2页