首頁 >後端開發 >php教程 >將數字格式的計算結果轉為漢字格式_PHP教學課程

將數字格式的計算結果轉為漢字格式_PHP教學課程

WBOY
WBOY原創
2016-07-21 16:05:24892瀏覽

有沒有想過將數字格式的計算結果轉換為漢字格式的? 有人會問"幹嘛要轉, 數字形式不是蠻好嘛", 可是當這個數字很長的時候就不太容易讀出來了吧,就算是有千分位的分隔符也不易順口說出, 因為這個符號是位英語行方便的, 不是適合我們的讀法. 那就自己寫一個函數來完成這項任務吧.

將下列程式碼加到你的網頁裡, 透過num2chi()函數的呼叫就可以實現上述功能了, 快來試一試吧. 為了各位能讀懂這段程式碼, 在下特意加入詳細註解, 還請老鳥兒不要嫌羅唆, ^_^.

//----------------------FUNCTION BEGIN------- ----------------------
//----------------------- --------------------
//函數名稱: num2chi()
//叁  數: 一數字
//回傳值: 一字串
//功  能: 將難讀的長串數字轉為順口讀出的漢字
//作  者: chen.anson  
//站  點: HTTP://dreamer.oso .com.cn
//----------------------------------------- --

function num2chi(result) {

var chiresult = "";            //定義回復值堁chires將result轉換為字元形式
result = result.toLowerCase();
resultlen = result.length;    //定義resultlen為result的長度tempresult = tempresult/  
for (i=1;i{
    tempresult = tempresult.replace("1","一") ;
    tempresult = tempresult.replace("2","二");
    tempresult = tempresult.replace("3","三");
temp  "四");
    tempresult = tempresult.replace("5","五");
    tempresult = tempresult.replace("6","六");  "7","七");
    tempresult = tempresult.replace("8","八");
    tempresult = tempresult.replace("9","九");
temp tempresult.replace("0","零");
    tempresult = tempresult.replace(".","點");
    tempresult = tempresult.replace("e ","冪"); 🎜>}

while(tempresult.indexOf("零零")!=-1)    //避免在字串tempresult中出現"零零", 但又不能改變字串長度
{
    tempresult = tempresult.replace("零零","位零");
}

resultlen = tempresult.length;    ///tempresult的長度再次確認tempresult的長度。冪"會造成長度變化

for (i=1,j=1,k=1;i{
    //防止尾數為零, 如八拾零, 二拾零萬
    if (tempresult.charAt(resultlen-1 )=="零"&&i==1)
        chiresult = "位";
    else if (tempresult.charAt(resultlen-i 位元" chiresult;
    //--------------------------------

    //避免把"冪"和"點"當做實際位數, 而且單位確認變數重新計數
    else if (tempresult.charAt(resultlen-i)=="冪")
    {   k=1;chiresult = tempresult.charAt(resultlen-i) chiresult;continue;
    }
    else if (tempresult.char  =1;k=1;chiresult = tempresult.charAt(resultlen-i) chiresult;continue;
    }
    //--------------------------------------------- ----------- -------
    其他
chiresult = tempresult.charAt(resultlen-i) chiresult;
    //新增數位單位
        if (tempresult.charAt(resultlen-i-1)!="位元"&&tempresult.charAt(resultlen-i-1)!="0"&Atresult.M. ) -1)!="冪")
        {
           if (j==1&&i            else if (j==2&&i            else if (j==3&&i        }
        if (j==4&&i        if (k==4&&i        else if (k==8&&i ------
    j ;k ;
}

while(chiresult.indexOf("位")!=-1)    //避免在字串chiresult中出現"位元"
{
  位元","");
}

if (chiresult.substr(0,2)=="一拾")    //避免出現"一拾二"等情況
chiresult = chiresult.substring(1,chiresult長度);

//冪和小數點後面的數字應直接寫入,而沒有單位
if (chiresult.search("冪")>=0&&chiresult.search("點")> = 0 )
{
    rebegin = chiresult.substring(0,chiresult.indexOf("點"));
    relast = chiresult.substring(result.indexOfres."
    remid = chiresult.substring(chiresult.indexOf("點"),chiresult.indexOf("冪"));
    for (i=1;i {
        remid = remid.replace("拾","");
        remid = remid.replace("百 ;
        remid = remid.replace("萬","");
        remid = remid.replace(" 🎜>}
else if (chiresult.search("冪")=0)
{
    rebegin = chiresult.substring(0,chiresult.indexOf(chiresult.點"));
    relast = chiresult.substring(chiresult.indexOf("點"),chiresult.length);
    for (i=1;i
        relast = relast.replace("拾取","");
        relast = relast.replace("百","");
        relast = relast.replace("千","");
        relast = relast.replace("萬","");
        relast = relast.replace("億","");
    }
    chiresult = 重新開始relast;
}

if (chiresult.search("冪")>=0)   ” ”,這樣可以直接書寫  
{
    chiresult = chiresult.replace("冪","乘以拾取的");
    chiresult = chiresult "次方";
}
回傳結果;
}

//----------------------FUNCTION END------------------ -------------


將下面這兩條語句放到script塊中試運行一下看看結果對不對, 另外可以訪問我的主頁http: //dreamer.oso.com.cn 在休閒廣場裡有一個彩票頁面, 就是用這段代碼實現的, 歡迎光臨.
hi='4648000567542450084.16415846E 766600050';
docum. br>" num2chi(hi));

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/315712.htmlTechArticle有沒有想過將數字格式的計算結果轉換為漢字格式的? 有人會問幹嘛要轉,數字形式不是蠻好嘛, 可是當這個數字很長的時候就不太容易讀出...
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn