| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
b77m
10年前发布

JavaScript金额大写转换函数

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;  }