最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS轉(zhuǎn)換金額大寫方法詳細例子

 更新時間:2023年10月20日 15:42:26   作者:和風(fēng)微涼  
在處理財務(wù)賬款類需求時需要將轉(zhuǎn)賬金額寫成大寫的,下面這篇文章主要給大家介紹了關(guān)于JS轉(zhuǎn)換金額大寫方法的相關(guān)資料,文中給出了詳細的代碼示例,需要的朋友可以參考下

代碼示例: 

//代碼如下所示:
function menoyToUppercase(money) {
    var cnNums = new Array('零', '壹', '貳', '叁', '肆', '伍', '陸', '柒', '捌', '玖');	 //漢字的數(shù)字
    var cnIntRadice = new Array('', '拾', '佰', '仟'); //基本單位
    var cnIntUnits = new Array('', '萬', '億', '兆');  //對應(yīng)整數(shù)部分?jǐn)U展單位
    var cnDecUnits = new Array('角', '分', '毫', '厘'); //對應(yīng)小數(shù)部分單位
    var cnInteger = '整';	//整數(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)用此方法即可

舉個栗子:

let money = 100;  //100元、200元。。。。
let chineseStr = menoyToUppercase(money);
$('#id').val(chineseStr);

此時chineseStr變量里的值已經(jīng)是大寫(浮點型小數(shù)也能轉(zhuǎn)換)

當(dāng)然這里也可以先加一個判斷用戶輸入是數(shù)字類型還是字符串

總結(jié)

到此這篇關(guān)于JS轉(zhuǎn)換金額大寫方法的文章就介紹到這了,更多相關(guān)JS轉(zhuǎn)換金額大寫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

金秀| 桂阳县| 东明县| 蓬溪县| 岑溪市| 开封市| 平江县| 武威市| 双城市| 镇平县| 云浮市| 嘉峪关市| 石台县| 泰顺县| 灌阳县| 四会市| 徐闻县| 阳春市| 万山特区| 什邡市| 崇明县| 同江市| 昭觉县| 万州区| 句容市| 从江县| 南漳县| 嵊州市| 新乐市| 浏阳市| 修水县| 罗定市| 兴海县| 安新县| 遵义市| 星座| 云龙县| 石门县| 汕头市| 台江县| 小金县|