<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            php語言

            PHP金額數字轉換成英文

            時間:2025-03-08 22:34:08 php語言 我要投稿
            • 相關推薦

            PHP金額數字轉換成英文

              如何利用PHP金額數字轉換成英文呢?就跟隨百分網小編一起去了解下吧,想了解更多相關信息請持續關注我們應屆畢業生考試網!

              代碼如下:

              <?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金額數字轉換成英文】相關文章:

            PHP語言的數字類型05-28

            php動態網頁怎么轉換成html靜態頁面08-08

            用PHP自動把純文本轉換成Web頁面方法05-19

            PHP中IP地址與整型數字互相轉換04-25

            php日期轉時間戳 指定日期轉換成時間戳01-23

            php中數字0和空值的區別分析03-08

            英文題目的PHP面試題及答案04-02

            php下一個阿拉伯數字轉中文數字的函數01-22

            PHP正則匹配中文字母數字正則的表達式07-14

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看