zoukankan      html  css  js  c++  java
  • js将数字转成大写中文

    <script type="text/javascript">
    //主函数
    function DX(n) {
    if (!/^(0|[1-9]d*)(.d+)?$/.test(n))
    return "数据非法";
    var unit = "千百拾亿千百拾万千百拾元角分", str = "";
    n += "00";
    var p = n.indexOf('.');
    if (p >= 0)
    n = n.substring(0, p) + n.substr(p+1, 2);
    unit = unit.substr(unit.length - n.length);
    for (var i=0; i < n.length; i++)
    str += '零壹贰叁肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i);
    return str.replace(/零(千|百|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(万|亿|元)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^元零?|零分/g, "").replace(/元$/g, "元整");
    }
    //以下为测试输出
    alert('1526365.56 '+DX(1526365.56))
    </script> 

    /-------------------------2016.2.25修改-------------------------------------

    //请款金额校验
    function upperAccount(loweramount){
    if(loweramount!=''&&loweramount!=0){
    //有两位小数的正实数
    var reg = new RegExp("^[0-9]+(.[0-9]{2})?$");
    if(loweramount.indexOf(",")!=-1){
    loweramount=loweramount.replace(/,/g,'');//12322.12格式化之前的
    if(!reg.test(loweramount)){
           alert("请输入正确金额,最多两位小数!");
           return;
       }
    };
        //小写
    var v = fmoney(loweramount);
        $("#money").val(v);//123,22.12格式化之后的
    //大写
    if(v.indexOf(",")!=-1){
    v=v.replace(/,/g,'');//12322.12格式化之前的
    };
    $("input[name='currentApplyAmount']").val(v);
    var upper = DX(v);  
        $("input[name='upper_currentApplyAmount']").val(upper);
    }else{
    $("#money").val(0.0);
    $("input[name='currentApplyAmount']").val('0.0');
    $("input[name='upper_currentApplyAmount']").val('零');
    }
    }
    //将请款金额转大写
    function DX(n) {
    if (!/^(0|[1-9]d*)(.d+)?$/.test(n))
    return "数据非法";
    var unit = "千百拾亿千百拾万千百拾元角分", str = "";
    n += "00";
    var p = n.indexOf('.');
    if (p >= 0)
    n = n.substring(0, p) + n.substr(p+1, 2);
    unit = unit.substr(unit.length - n.length);
    for (var i=0; i < n.length; i++)
    str += '零壹贰叁肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i);
    return str.replace(/零(千|百|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(万|亿|元)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^元零?|零分/g, "").replace(/元$/g, "元整");
    }
    /**
            * 将数值四舍五入后格式化. 
            * 
            * @param s 数值(Number或者String) 
            * @param n 要保留的小数位(Number) 
            * @return 格式的字符串,如'1,234,567.45' 
            * @type String 
            */  
          function fmoney(s, n){  
      n = n > 0 && n <= 20 ? n : 2;   
      s = parseFloat((s + "").replace(/[^d.-]/g, "")).toFixed(n) + "";   
      var l = s.split(".")[0].split("").reverse(),   
      r = s.split(".")[1];   
      t = "";   
      for(i = 0; i < l.length; i ++ )   
      {   
         t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");   
      }   
      return t.split("").reverse().join("") + "." + r;   
    }                                                                                                                                                                                                                                                                                                                                                                                                 
  • 相关阅读:
    CentOS6.3 编译安装LAMP(4):编译安装 PHP5.2.17
    CentOS6.3 编译安装LAMP(3):编译安装 MySQL5.5.25
    解决URL中包含“%2F”导致Apache地址重写mod_rewrite失效的问题
    Apache静态编译与动态编译详解
    Apache常用2种工作模式prefork和worker比较
    Apache 优化配置10条建议
    Apache prefork 模块指令分析
    PHP上传(单个)文件示例
    CentOS6.3 编译安装LAMP(2):编译安装 Apache2.2.25
    CentOS6.3 编译安装LAMP(1):准备工作
  • 原文地址:https://www.cnblogs.com/zxgwork/p/5025252.html
Copyright © 2011-2022 走看看