示例:money:100 轉(zhuǎn)化為 壹佰元整文章來源:http://www.zghlxwxcb.cn/news/detail-848484.html
//大寫金額元幣
function DaXieJinE(money) {
?? ?// 漢字的數(shù)字
?? ?var cnNums = new Array('零', '壹', '貳', '叁', '肆', '伍', '陸', '柒', '捌', '玖');
?? ?// 基本單位
?? ?var cnIntRadice = new Array('', '拾', '佰', '仟');
?? ?// 對應(yīng)整數(shù)部分擴展單位
?? ?var cnIntUnits = new Array('', '萬', '億', '兆');
?? ?// 對應(yīng)小數(shù)部分單位
?? ?var cnDecUnits = new Array('角', '分', '毫', '厘');
?? ?// 整數(shù)金額時后面跟的字符
?? ?var cnInteger = '整';
?? ?// 整型完以后的單位
?? ?var cnIntLast = '元';
?? ?// 最大處理的數(shù)字
?? ?var maxNum = 999999999999999.9999;
?? ?// 金額整數(shù)部分
?? ?var integerNum;
?? ?// 金額小數(shù)部分
?? ?var decimalNum;
?? ?// 輸出的中文金額字符串
?? ?var chineseStr = '';
?? ?// 分離金額后用的數(shù)組,預(yù)定義
?? ?var parts;
?? ?if (money == '') {
?? ??? ?return '';
?? ?}
?? ?money = parseFloat(money);
?? ?if (money >= maxNum) {
?? ??? ?// 超出最大處理數(shù)字
?? ??? ?return '';
?? ?}
?? ?if (money == 0) {
?? ??? ?chineseStr = cnNums[0] + cnIntLast + cnInteger;
?? ??? ?return chineseStr;
?? ?}
?? ?// 轉(zhuǎn)換為字符串
?? ?money = money.toString();
?? ?if (money.indexOf('.') == -1) {
?? ??? ?integerNum = money;
?? ??? ?decimalNum = '';
?? ?} else {
?? ??? ?parts = money.split('.');
?? ??? ?integerNum = parts[0];
?? ??? ?decimalNum = parts[1].substr(0, 4);
?? ?}
?? ?// 獲取整型部分轉(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 == '') {
?? ??? ?chineseStr += cnInteger;
?? ?}
?? ?return chineseStr;
}文章來源地址http://www.zghlxwxcb.cn/news/detail-848484.html
到了這里,關(guān)于jquery 數(shù)字金額轉(zhuǎn)化為大寫金額的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!