UNPKG

zr-admin-ui

Version:

基于ElementUI拓展组件

121 lines (113 loc) 3.87 kB
/*** * 公用过滤函数 * trim 去除字符串空格 * upDigit 数字转换为大写金额 * filterDateTime 转化时间格式 年月日 时分秒 * filterDate 转化时间格式 年月日 * numberToCurrencyNo 数字千分位格式化 * Tofixed 数字转化为两位小数 **/ //去除空格 type 1-所有空格 2-前后空格 3-前空格 4-后空格 function trim(value) { return value.replace(/\s+/g, ""); } //现金额大写转换函数 //ecDo.upDigit(168752632) //result:"人民币壹亿陆仟捌佰柒拾伍万贰仟陆佰叁拾贰元整" //ecDo.upDigit(1682) //result:"人民币壹仟陆佰捌拾贰元整" //ecDo.upDigit(-1693) //result:"欠人民币壹仟陆佰玖拾叁元整" function upDigit(n) { var fraction = ['角', '分', '厘']; var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']; var unit = [ ['元', '万', '亿'], ['', '拾', '佰', '仟'] ]; var head = n < 0 ? '欠人民币' : '人民币'; n = Math.abs(n); var s = ''; for (var i = 0; i < fraction.length; i++) { s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, ''); } s = s || '整'; n = Math.floor(n); for (var i = 0; i < unit[0].length && n > 0; i++) { var p = ''; for (var j = 0; j < unit[1].length && n > 0; j++) { p = digit[n % 10] + unit[1][j] + p; n = Math.floor(n / 10); } s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s; //s = p + unit[0][i] + s; } return s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整'); } // 转化时间格式 年月日 时分秒 function filterDateTime(time) { var date = new Date(time); var y = date.getFullYear(); var m = date.getMonth() + 1; m = m < 10 ? "0" + m : m; var d = date.getDate(); d = d < 10 ? "0" + d : d; var h = date.getHours(); h = h < 10 ? "0" + h : h; var minute = date.getMinutes(); minute = minute < 10 ? "0" + minute : minute; var s = date.getSeconds(); s = s < 10 ? "0" + s : s; return y + "年" + m + "月" + d + "日" + " " + h + ":" + minute; } // 转化时间格式 年月日 function filterDate(time) { var date = new Date(time); var y = date.getFullYear(); var m = date.getMonth() + 1; m = m < 10 ? "0" + m : m; var d = date.getDate(); d = d < 10 ? "0" + d : d; var h = date.getHours(); h = h < 10 ? "0" + h : h; var minute = date.getMinutes(); minute = minute < 10 ? "0" + minute : minute; var s = date.getSeconds(); s = s < 10 ? "0" + s : s; return y + "年" + m + "月" + d + "日"; } // 数字千分位格式化 //numberToCurrencyNo(168,752,632) //result:"168,752,632" function numberToCurrencyNo(value) { if (!value) return 0 // 获取整数部分 const intPart = Math.trunc(value) // 整数部分处理,增加, const intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') // 预定义小数部分 let floatPart = '' // 将数值截取为小数部分和整数部分 const valueArray = value.toString().split('.') if (valueArray.length === 2) { // 有小数部分 floatPart = valueArray[1].toString() // 取得小数部分 return intPartFormat + '.' + floatPart } return intPartFormat + floatPart } // 数字转化为两位小数 // 123 | Tofixed // result:123.00 function Tofixed(value) { // 截取当前数据到小数点后两位 let realVal = parseFloat(value).toFixed(2) return realVal } export { Tofixed, trim, upDigit, numberToCurrencyNo, filterDateTime, filterDate }