JS轉換金額大寫方法詳細例子
更新時間:2023年10月20日 15:42:26 作者:和風微涼
在處理財務賬款類需求時需要將轉賬金額寫成大寫的,下面這篇文章主要給大家介紹了關于JS轉換金額大寫方法的相關資料,文中給出了詳細的代碼示例,需要的朋友可以參考下
代碼示例:
//代碼如下所示: function menoyToUppercase(money) { var cnNums = new Array('零', '壹', '貳', '叁', '肆', '伍', '陸', '柒', '捌', '玖'); //漢字的數(shù)字 var cnIntRadice = new Array('', '拾', '佰', '仟'); //基本單位 var cnIntUnits = new Array('', '萬', '億', '兆'); //對應整數(shù)部分擴展單位 var cnDecUnits = new Array('角', '分', '毫', '厘'); //對應小數(shù)部分單位 var cnInteger = '整'; //整數(shù)金額時后面跟的字符 var cnIntLast = '元'; //整數(shù)完以后的單位 //最大處理的數(shù)字 var maxNum = 999999999999999.9999; var integerNum; //金額整數(shù)部分 var decimalNum; //金額小數(shù)部分 //輸出的中文金額字符串 var chineseStr = ''; var parts; //分離金額后用的數(shù)組,預定義 if (money == '') { return ''; } money = parseFloat(money); if (money >= maxNum) { //超出最大處理數(shù)字 return '超出最大處理數(shù)字'; } if (money == 0) { chineseStr = cnNums[0] + cnIntLast + cnInteger; return chineseStr; } //四舍五入保留兩位小數(shù),轉換為字符串 money = Math.round(money * 100).toString(); integerNum = money.substr(0,money.length-2); decimalNum = money.substr(money.length-2); //獲取整型部分轉換 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; }
直接調用此方法即可
舉個栗子:
let money = 100; //100元、200元。。。。 let chineseStr = menoyToUppercase(money); $('#id').val(chineseStr);
此時chineseStr變量里的值已經(jīng)是大寫(浮點型小數(shù)也能轉換)
當然這里也可以先加一個判斷用戶輸入是數(shù)字類型還是字符串
總結
到此這篇關于JS轉換金額大寫方法的文章就介紹到這了,更多相關JS轉換金額大寫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
javascript的var與let,const之間的區(qū)別詳解
這篇文章主要為大家介紹了?javascript的var與let,const之間的區(qū)別,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-12-12在layui.use 中自定義 function 的正確方法
今天小編就為大家分享一篇在layui.use 中自定義 function 的正確方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09