数字转英文

所属分类: 网络编程 / PHP编程 阅读数: 537
收藏 0 赞 0 分享
<?php //___{xf_num2en}________________________________________  
//*** 說明: 數值轉英文表示法  
//=== 回傳: <string>  
//--- NN)數值  FF)小數位  
//============================================================  
    function xf_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  

    function xf_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 计算代码执行耗时的代码修正网上普遍错误

前几天测试 SQLite 插入大数据量的时候, 找了一些关于计算执行时间的代码, 发现网上普遍流传着这样一份代码
收藏 0 赞 0 分享

php中在PDO中使用事务(Transaction)

事务 (Transaction) 是操作数据库中很重要的一个功能, 它可以让你预定一条, 或者一系列 SQL 语句, 然后一起执行
收藏 0 赞 0 分享

centos 5.6 升级php到5.3的方法

centos 5.6的库,更新比比5.5及时多了,居然已经有 php 5.3.3 了
收藏 0 赞 0 分享

rrmdir php中递归删除目录及目录下的文件

php自带的rmdir,只能删除空目录,这个rrmdir就可以递归删除目录及目录下的所有文件,不过使用起来要小心哦,不要把所有文件都删了
收藏 0 赞 0 分享

Views rows style模板重写代码

重写rows style模板,可以控制整个VIEWS的输出布局,就像VIEWS是个选择器,布局任你编排
收藏 0 赞 0 分享

PHP中break及continue两个流程控制指令区别分析

php中常用的for与foreach循环中,经常遇到条件判断或中止循环的情况。而处理方式主要用到break及continue两个流程控制指令,现在说明主要区别
收藏 0 赞 0 分享

SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享

问题:swfupload上传任何文件的mime类型均为application/octet-stream。
收藏 0 赞 0 分享

PHP session有效期session.gc_maxlifetime

PHP中的session有效期默认是1440秒(24分钟)【weiweiok 注:php5里默认的是180分】,也就是说,客户端超过24分钟没有刷新,当前session就会失效。很明显,这是不能满足需要的。
收藏 0 赞 0 分享

关于session在PHP5的配置文件中的详细设置参数说明

关于session在PHP5的配置文件中的详细设置参数说明,需要的朋友可以参考下。
收藏 0 赞 0 分享

PHP中的session永不过期的解决思路及实现方法分享

让PHP的session永不过期,你可能没有遇到这么郁闷的问题,但是我遇到过,很郁闷。
收藏 0 赞 0 分享
查看更多