• js金额大写转换函数


    function transform(tranvalue) {
      try {
        var i = 1;
        var dw2 = new Array("", "万", "亿"); //大单位
        var dw1 = new Array("拾", "佰", "仟"); //小单位
        var dw = new Array(
          "零",
          "壹",
          "贰",
          "叁",
          "肆",
          "伍",
          "陆",
          "柒",
          "捌",
          "玖"
        ); 
        //整数部分用
        //以下是小写转换成大写显示在合计大写的文本框中
        //分离整数与小数
        var source = splits(tranvalue);
        var num = source[0];
        var dig = source[1];
        //转换整数部分
        var k1 = 0; //计小单位
        var k2 = 0; //计大单位
        var sum = 0;
        var str = "";
        var len = source[0].length; //整数的长度
        for (i = 1; i <= len; i++) {
          var n = source[0].charAt(len - i); //取得某个位数上的数字
          var bn = 0;
          if (len - i - 1 >= 0) {
            bn = source[0].charAt(len - i - 1); //取得某个位数前一位上的数字
          }
          sum = sum + Number(n);
          if (sum != 0) {
            str = dw[Number(n)].concat(str); //取得该数字对应的大写数字,并插入到str字符串的前面
            if (n == "0") sum = 0;
          }
          if (len - i - 1 >= 0) {
            //在数字范围内
            if (k1 != 3) {
              //加小单位
              if (bn != 0) {
                str = dw1[k1].concat(str);
              }
              k1++;
            } else {
              //不加小单位,加大单位
              k1 = 0;
              var temp = str.charAt(0);
              if (temp == "万" || temp == "亿")
                //若大单位前没有数字则舍去大单位
                str = str.substr(1, str.length - 1);
              str = dw2[k2].concat(str);
              sum = 0;
            }
          }
          if (k1 == 3) {
            //小单位到千则大单位进一
            k2++;
          }
        }
        //转换小数部分
        var strdig = "";
        if (dig != "") {
          var n = dig.charAt(0);
          if (n != 0) {
            strdig += dw[Number(n)] + "角"; //加数字
          }
          var n = dig.charAt(1);
          if (n != 0) {
            strdig += dw[Number(n)] + "分"; //加数字
          }
        }
        str += "元" + strdig;
      } catch (e) {
        return "0元";
      }
      return str;
    }
    //拆分整数与小数
    function splits(tranvalue) {
      var value = new Array("", "");
      temp = tranvalue.split(".");
      for (var i = 0; i < temp.length; i++) {
        value = temp;
      }
      return value;
    }
  • 相关阅读:
    用addOnGlobalLayoutListener获取View的宽高
    用addOnGlobalLayoutListener获取View的宽高
    用addOnGlobalLayoutListener获取View的宽高
    ElasticSearch封装查询、多条件查询、模糊查询工具类
    java操作ElasticSearch(es)进行增删查改操作
    如何构建尽可能小的容器镜像?
    perl 合并日志处理+并发管理器
    NoSQL还是SQL?这一篇讲清楚
    perl 跨行匹配 /s
    perl 改变换行符 合并日志
  • 原文地址:https://www.cnblogs.com/konglxblog/p/15758651.html
Copyright © 2020-2023  润新知