天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

將數字格式的計算結果轉為漢字格式

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

將下列代碼加到你的網頁里, 通過num2chi()函數的調用就可以實現上述功能了, 快來試一試吧. 為了各位能讀懂這段代碼, 在下特意加入詳細注解, 還請老鳥們不要嫌羅唆, ^_^.

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

function num2chi(result) {

var chiresult = "";            //定義返回值叁數chiresult為字符形式
result = result.toString();    //將result轉為字符形式
result = result.toLowerCase();
resultlen = result.length;    //定義resultlen為result的長度
tempresult = result;        //定義中間變量tempresult

for (i=1;i<=resultlen;i++)    //將字符串tempresult中的全部數字替換為漢字
{
    tempresult = tempresult.replace("1","一");
    tempresult = tempresult.replace("2","二");
    tempresult = tempresult.replace("3","三");
    tempresult = tempresult.replace("4","四");
    tempresult = tempresult.replace("5","五");
    tempresult = tempresult.replace("6","六");
    tempresult = tempresult.replace("7","七");
    tempresult = tempresult.replace("8","八");
    tempresult = tempresult.replace("9","九");
    tempresult = tempresult.replace("0","零");
    tempresult = tempresult.replace(".","點");
    tempresult = tempresult.replace("e+","冪");
}

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

resultlen = tempresult.length;    //再次確認tempresult的長度, 因"e+"->"冪"會引起長度變化

for (i=1,j=1,k=1;i<=resultlen;i++)    //開始轉換, i為位數確認叁數, j為"十百千"確認叁數, k為"萬億"確認叁數
{
    //防止尾數為零, 如八拾零, 二拾零萬
    if (tempresult.charAt(resultlen-1)=="零"&&i==1)
        chiresult = "位";
    else if (tempresult.charAt(resultlen-i)=="零"&&j==1)
        chiresult = "位" + chiresult;
    //--------------------------------

    //避免把"冪"和"點"當做實際位數, 而且單位確認變量重新計數
    else if (tempresult.charAt(resultlen-i)=="冪")
    {
        j=1;k=1;chiresult = tempresult.charAt(resultlen-i) + chiresult;continue;
    }
    else if (tempresult.charAt(resultlen-i)=="點")
    {
        j=1;k=1;chiresult = tempresult.charAt(resultlen-i) + chiresult;continue;
    }
    //--------------------------------------
    else
    chiresult = tempresult.charAt(resultlen-i) + chiresult;
    //添加數字單位
        if (tempresult.charAt(resultlen-i-1)!="位"&&tempresult.charAt(resultlen-i-1)!="零"&&tempresult.charAt(resultlen-i-1)!="冪")
        {
            if (j==1&&i<resultlen) chiresult = "拾" + chiresult;
            else if (j==2&&i<resultlen) chiresult = "百" + chiresult;
            else if (j==3&&i<resultlen) chiresult = "千" + chiresult;
        }
        if (j==4&&i<resultlen) j=0;
        if (k==4&&i<resultlen&&tempresult.charAt(resultlen-i-1)!="冪") chiresult = "萬" + chiresult;
        else if (k==8&&i<resultlen&&tempresult.charAt(resultlen-i-1)!="冪") {k=0;chiresult = "億" + chiresult;}
    //-----------
    j++;k++;
}

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

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

//冪和小數點後的數字應直接讀出, 而沒有單位
if (chiresult.search("冪")>=0&&chiresult.search("點")>=0)
{
    rebegin = chiresult.substring(0,chiresult.indexOf("點"));
    relast = chiresult.substring(chiresult.indexOf("冪"),chiresult.length);
    remid = chiresult.substring(chiresult.indexOf("點"),chiresult.indexOf("冪"));
    for (i=1;i<=remid.length;i++)
    {
        remid = remid.replace("拾","");
        remid = remid.replace("百","");
        remid = remid.replace("千","");
        remid = remid.replace("萬","");
        remid = remid.replace("億","");
    }
    chiresult = rebegin + remid + relast;
}
else if (chiresult.search("冪")<0&&chiresult.search("點")>=0)
{
    rebegin = chiresult.substring(0,chiresult.indexOf("點"));
    relast = chiresult.substring(chiresult.indexOf("點"),chiresult.length);
    for (i=1;i<=relast.length;i++)
    {
        relast = relast.replace("拾","");
        relast = relast.replace("百","");
        relast = relast.replace("千","");
        relast = relast.replace("萬","");
        relast = relast.replace("億","");
    }
    chiresult = rebegin + relast;
}

if (chiresult.search("冪")>=0)    //將"冪"替換為"乘以拾的", 這樣可以直接讀出  
{
    chiresult = chiresult.replace("冪","乘以拾的");
    chiresult = chiresult + "次方";
}
return chiresult;
}

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


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

php技術將數字格式的計算結果轉為漢字格式,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲国产在线精品国偷产拍 | 中文字幕在线观看亚洲 | 99精品视频在线观看免费播放 | 久久精品国产免费中文 | 亚洲.日韩.欧美另类 | 国产在线视频在线观看 | 97精品视频在线观看 | 亚洲 欧美 中文 日韩 视频 | 三级色视频 | 狠狠色丁香久久婷婷综合_中 | 精品久久久久中文字幕加勒比东京热 | 国产精品久久久久秋霞影视 | 日韩精品卡1卡2三卡四卡乱码 | 女教师杨雪的性荡生活 | 久草色香蕉视频在线 | 激情床戏视频片段有叫声 | 双性大乳浪受噗呲噗呲h总 双性被疯狂灌满精NP | 真实国产熟睡乱子伦对白无套 | 欧美精品成人a多人在线观看 | 国产精品第100页 | 51精品国产AV无码久久久密桃 | 久久精品国产亚洲AV蜜臀 | 亚洲色图在线播放 | 国产AV麻豆出品在线播放 | 伊人网中文字幕 | 亚洲精品www久久久久久久软件 | 免费观看桶机十分钟 | 在教室伦流澡到高潮H免费视频 | 免费特黄一区二区三区视频一 | 永久免费在线视频 | 爽死你个放荡粗暴小淫货漫画 | 精品国产5g影院天天爽 | 99久久99久久精品免费看子 | 亚洲视频在线免费 | 午夜性色一区二区三区不卡视频 | 无套内谢大学生A片 | 蜜柚视频在线观看全集免费观看 | 纲手胸被爆羞羞免费 | 医生含着我的奶边摸边做 | 国产亚洲精品久久久久久国 | 日本九九热在线观看官网 |