JS轉(zhuǎn)換金額大寫(xiě)方法詳細(xì)例子
代碼示例:
//代碼如下所示: function menoyToUppercase(money) { var cnNums = new Array('零', '壹', '貳', '叁', '肆', '伍', '陸', '柒', '捌', '玖'); //漢字的數(shù)字 var cnIntRadice = new Array('', '拾', '佰', '仟'); //基本單位 var cnIntUnits = new Array('', '萬(wàn)', '億', '兆'); //對(duì)應(yīng)整數(shù)部分?jǐn)U展單位 var cnDecUnits = new Array('角', '分', '毫', '厘'); //對(duì)應(yīng)小數(shù)部分單位 var cnInteger = '整'; //整數(shù)金額時(shí)后面跟的字符 var cnIntLast = '元'; //整數(shù)完以后的單位 //最大處理的數(shù)字 var maxNum = 999999999999999.9999; var integerNum; //金額整數(shù)部分 var decimalNum; //金額小數(shù)部分 //輸出的中文金額字符串 var chineseStr = ''; var parts; //分離金額后用的數(shù)組,預(yù)定義 if (money == '') { return ''; } money = parseFloat(money); if (money >= maxNum) { //超出最大處理數(shù)字 return '超出最大處理數(shù)字'; } if (money == 0) { chineseStr = cnNums[0] + cnIntLast + cnInteger; return chineseStr; } //四舍五入保留兩位小數(shù),轉(zhuǎn)換為字符串 money = Math.round(money * 100).toString(); integerNum = money.substr(0,money.length-2); decimalNum = money.substr(money.length-2); //獲取整型部分轉(zhuǎn)換 if (parseInt(integerNum, 10) > 0) { var zeroCount = 0; var IntLen = integerNum.length; for (var i = 0; i < IntLen; i++) { var n = integerNum.substr(i, 1); var p = IntLen - i - 1; var q = p / 4; var m = p % 4; if (n == '0') { zeroCount++; } else { if (zeroCount > 0) { chineseStr += cnNums[0]; } //歸零 zeroCount = 0; chineseStr += cnNums[parseInt(n)] + cnIntRadice[m]; } if (m == 0 && zeroCount < 4) { chineseStr += cnIntUnits[q]; } } chineseStr += cnIntLast; } //小數(shù)部分 if (decimalNum != '') { var decLen = decimalNum.length; for (var i = 0; i < decLen; i++) { var n = decimalNum.substr(i, 1); if (n != '0') { chineseStr += cnNums[Number(n)] + cnDecUnits[i]; } } } if (chineseStr == '') { chineseStr += cnNums[0] + cnIntLast + cnInteger; } else if (decimalNum == '' || /^0*$/.test(decimalNum)) { chineseStr += cnInteger; } return chineseStr; }
直接調(diào)用此方法即可
舉個(gè)栗子:
let money = 100; //100元、200元。。。。 let chineseStr = menoyToUppercase(money); $('#id').val(chineseStr);
此時(shí)chineseStr變量里的值已經(jīng)是大寫(xiě)(浮點(diǎn)型小數(shù)也能轉(zhuǎn)換)
當(dāng)然這里也可以先加一個(gè)判斷用戶(hù)輸入是數(shù)字類(lèi)型還是字符串
總結(jié)
到此這篇關(guān)于JS轉(zhuǎn)換金額大寫(xiě)方法的文章就介紹到這了,更多相關(guān)JS轉(zhuǎn)換金額大寫(xiě)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript實(shí)現(xiàn)下拉列表選擇框
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)下拉列表選擇框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10javascript的var與let,const之間的區(qū)別詳解
這篇文章主要為大家介紹了?javascript的var與let,const之間的區(qū)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2021-12-12js前臺(tái)分頁(yè)顯示后端JAVA數(shù)據(jù)響應(yīng)
js前臺(tái)分頁(yè)顯示使用jquery1.8.7框架,本文目的主要給那些剛?cè)胄熊浖_(kāi)發(fā),喜歡這也看看,程序需要有投入才有收獲感興趣的你可不要錯(cuò)過(guò)了哈,希望可以幫助到你2013-03-03在layui.use 中自定義 function 的正確方法
今天小編就為大家分享一篇在layui.use 中自定義 function 的正確方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09