將金額數字轉換為大寫漢字的js函數

來源:互聯網
上載者:User

標籤:ast   style   index   amp   tun   nes   ice   div   定義   

 1 //將金額數字轉換為大寫漢字的函數 2 function convertCurrency(money) { 3     //漢字的數字 4     var cnNums = new Array(‘零‘, ‘壹‘, ‘貳‘, ‘三‘, ‘肆‘, ‘伍‘, ‘陸‘, ‘柒‘, ‘捌‘, ‘玖‘); 5     //基本單位 6     var cnIntRadice = new Array(‘‘, ‘拾‘, ‘佰‘, ‘仟‘); 7     //對應整數部分擴充單位 8     var cnIntUnits = new Array(‘‘, ‘萬‘, ‘億‘, ‘兆‘); 9     //對應小數部分單位10     var cnDecUnits = new Array(‘角‘, ‘分‘, ‘毫‘, ‘厘‘);11     //整數金額時後面跟的字元12     var cnInteger = ‘整‘;13     //整型完以後的單位14     var cnIntLast = ‘元‘;15     //最大處理的數字16     var maxNum = 999999999999999.9999;17     //金額整數部分18     var integerNum;19     //金額小數部分20     var decimalNum;21     //輸出的中文金額字串22     var chineseStr = ‘‘;23     //分離金額後用的數組,預定義24     var parts;25     if (money == ‘‘) {26         return ‘‘;27     }28     money = parseFloat(money);29     if (money >= maxNum) {30         //超出最大處理數字31         return ‘‘;32     }33     if (money == 0) {34         chineseStr = cnNums[0] + cnIntLast + cnInteger;35         return chineseStr;36     }37     //轉換為字串38     money = money.toString();39     if (money.indexOf(‘.‘) == -1) {40         integerNum = money;41         decimalNum = ‘‘;42     }43     else {44         parts = money.split(‘.‘);45         integerNum = parts[0];46         decimalNum = parts[1].substr(0, 4);47     }48     //擷取整型部分轉換49     if (parseInt(integerNum, 10) > 0) {50         var zeroCount = 0;51         var IntLen = integerNum.length;52         for (var i = 0; i < IntLen; i++) {53             var n = integerNum.substr(i, 1);54             var p = IntLen - i - 1;55             var q = p / 4;56             var m = p % 4;57             if (n == ‘0‘) {58                 zeroCount++;59             }60             else {61                 if (zeroCount > 0) {62                     chineseStr += cnNums[0];63                 }64                 //歸零65                 zeroCount = 0;66                 chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];67             }68             if (m == 0 && zeroCount < 4) {69                 chineseStr += cnIntUnits[q];70             }71         }72         chineseStr += cnIntLast;73     }74     //小數部分75     if (decimalNum != ‘‘) {76         var decLen = decimalNum.length;77         for (var i = 0; i < decLen; i++) {78             var n = decimalNum.substr(i, 1);79             if (n != ‘0‘) {80                 chineseStr += cnNums[Number(n)] + cnDecUnits[i];81             }82         }83     }84     if (chineseStr == ‘‘) {85         chineseStr += cnNums[0] + cnIntLast + cnInteger;86     }87     else if (decimalNum == ‘‘) {88         chineseStr += cnInteger;89     }90     return chineseStr;91 }

 

將金額數字轉換為大寫漢字的js函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.