Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement