年月日,日期格式处理
/**
* 时间格式处理成YY-MM-DD形式
* @param {string} val // 传入的值
* @returns {String} YY-MM-DD // 输出格式
*/
export function getFormattertTime(val) {
if (!val) { return '' }
const date = new Date(val)
const Y = date.getFullYear() + '-'
const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
const D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
return Y + M + D
}
保留n位小数
/**
* 输入数值并保留N位小数
* @param {number, string} val // 传入的值
* @param {number, string} maxNumber // 最大数值限制
* @param {number, string} number // 保留小数位数,默认两位,0为整数
* @returns {String} text
*/
export function getFractional(val, maxNumber, number = 2) {
var text = val + ''
text = text.replace(/[^\d.]/g, '') // 清除"数字"和"."以外的字符
text = text.replace(/^\./g, '') // 验证第一个字符是数字
text = text.replace(/\.{2,}/g, '.') // 只保留第一个点, 清除其他多余的点
text = text.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
let value = ''
let count = 0
while (number * 1 > count * 1) {
value += '\\d'
count++
}
const str = `^(\\-)*(\\d+)\\${value ? '.(' + value + ')' : ''}.*$`
var rep = rep = new RegExp(str)
var tem = number === 0 ? '$1$2' : '$1$2.$3'
text = text.replace(rep, tem)
if (maxNumber) {
if (text * 1 > maxNumber * 1) {
text = maxNumber + ''
}
}
return text
}