1. 程式人生 > >JS將數字轉換為中文

JS將數字轉換為中文

var cti IT function script val else AR -c

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>JS將數字轉換為中文</title>
</head>
<body>
<script>
    // 定義轉換函數
    function transform(tranvalue){
        try{
            var i=1;
            var dw2 = new Array("","","");//大單位
            var
dw1 = new Array("","","");//小單位 var dw = new Array("","","","","","","","","","");//整數部分用 //以下是小寫轉換成大寫顯示在合計大寫的文本框中 //分離整數與小數 var source = splits(tranvalue); var num = source[0]; var dig = source[1]; //轉換整數部分
var k1=0;//計小單位 var k2=0;//計大單位 var sum = 0; var str=""; var len = source[0].length;//整數的長度 for(i=1;i<=len;i++){ var n = source[0].charAt(len-i);//取得某個位數上的數字 var bn = 0; if(len-i-1>=0){ bn
= source[0].charAt(len-i-1);//取得某個位數前一位上的數字 } sum = sum+Number(n); if(sum!=0){ str = dw[Number(n)].concat(str);//取得該數字對應的大寫數字,並插入到str字符串的前面 if(n==0)sum = 0; } if(len-i-1>=0){//在數字範圍內 if(k1!=3){//加小單位 if(bn!=0){ str = dw1[k1].concat(str); } k1++; }else{//不加小單位,加大單位 k1=0; var temp = str.charAt(0); if(temp=="" || temp=="")//若大單位前沒有數字則舍去大單位 str = str.substr( 1, str.length-1); str = dw2[k2].concat(str); sum = 0; } } if(k1==3)//小單位到千則大單位進一 { k2++;} } //轉換小數部分 var strdig=""; if(dig!=""){ var n = dig.charAt(0); if(n!=0){ strdig += dw[Number(n)]+"";//加數字 } var n = dig.charAt(1); if(n!=0){ strdig += dw[Number(n)]+"";//加數字 } } str += ""+strdig; }catch(e){ return "0元"; } return str; } //拆分整數與小數 function splits(tranvalue){ var value = new Array(‘‘,‘‘); temp = tranvalue.split("."); for(var i=0;i<temp.length;i++){ value[i] = temp[i]; } return value; } // 調用 var a = 12345678; var b = transform(a); console.log(b); </script> </body> </html>

運行後的結果:

壹仟貳佰叁拾肆萬伍仟陸佰柒拾捌元

JS將數字轉換為中文