zoukankan      html  css  js  c++  java
  • js汉字转换为阿拉伯数字支持十到十九

    js汉字转换为阿拉伯数字  直接贴函数

    function cnnumtonum(chnStr){
           var chnNumChar = {
                   零:0,一:1,二:2,三:3,四:4,五:5,六:6,七:7,八:8,九:9
               };
         var chnNameValue = {
                 十:{value:10, secUnit:false},
                 百:{value:100, secUnit:false},
                 千:{value:1000, secUnit:false},
                 万:{value:10000, secUnit:true},
                 亿:{value:100000000, secUnit:true}
         };

    var expNumChar= {
    十:10,十一:11,十二:12,十三:13,十四:14,十五:15,十六:16,十七:17,十八:18,十九:19
    };
    if(expNumChar[chnStr]) {
    return expNumChar[chnStr];
    }

    var rtn = 0;
           var section = 0;
           var number = 0;
           var secUnit = false;
           var str = chnStr.split('');
           for(var i = 0; i < str.length; i++){
               var num = chnNumChar[str[i]];
               if(typeof num !== 'undefined'){
                   number = num;
                   if(i === str.length - 1){
                       section += number;
                   }
               }else{

    var cunit = chnNameValue[str[i]];

    if(typeof cunit == 'undefined') {
    return false;
    }

    var unit = chnNameValue[str[i]].value;
                   secUnit = chnNameValue[str[i]].secUnit;
                   if(secUnit){
                       section = (section + number) * unit;
                       rtn += section;
                       section = 0;
                   }else{
                       section += (number * unit);
                   }
                   number = 0;
               }
           }
           return rtn + section;
    }
    
    var chnStr='一百零九';
    var aa=cnnumtonum(chnStr);
    console.log(aa);

     阿拉伯数字转汉字

    function numtocnnum(section) {
        var chnNumChar = ["", "", "", "", "", "", "", "", "", ""];
        var chnUnitSection = ["", "", "亿", "万亿", "亿亿"];
        var chnUnitChar = ["", "", "", ""];
        var strIns = '', chnStr = '';
        var unitPos = 0;
        var zero = true;
        while (section > 0) {
            var v = section % 10;
            if (v === 0) {
                if (!zero) {
                    zero = true;
                    chnStr = chnNumChar[v] + chnStr;
                }
            } else {
                zero = false;
                strIns = chnNumChar[v];
                strIns += chnUnitChar[unitPos];
                chnStr = strIns + chnStr;
            }
            unitPos++;
            section = Math.floor(section / 10);
        }
        return chnStr;
    }
    var chnStr='4001';
    var aa=numtocnnum(chnStr);
    console.log(aa);
  • 相关阅读:
    C#连接db2数据库
    SSIS 查找 组件
    Winfrom控件 特效
    Highcharts中文帮助文档
    winform常用控件介绍
    Sql 语句常语法
    SQL经典语句大全
    SharePoint资料
    wcf编程资料
    CrystalDecisions.Windows.Forms文件
  • 原文地址:https://www.cnblogs.com/baker95935/p/11339740.html
Copyright © 2011-2022 走看看