You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
export default {
//格式化日期:yyyy-MM-dd
transToChinese: function (tranvalue) { try { var i = 1; var dw2 = new Array("", "万", "亿");//大单位
var dw1 = new Array("拾", "佰", "仟");//小单位
var dw = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖");//整数部分用
//以下是小写转换成大写显示在合计大写的文本框中
//分离整数与小数
var source = this.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) { console.log(e, "e"); return "0元"; } return str; },
splits(tranvalue) { var value = new Array('', ''); let temp = tranvalue.split("."); for (var i = 0; i < temp.length; i++) { value[i] = temp[i]; } return value; }}
|