/**
* @param {*}, value
* @param {number}, num, 数值精度
* @param {boolean}, boolToNumber, 布尔值转成0/1
*/
function formatnumber2(value, num, boolToNumber = false) {
if (isEmpty(value)) {
return ''
}
value = value.toString().trim()
// 是否是布尔值
if (/^(true|false)$/.test(value)) {
if (boolToNumber) {
if (value === 'true') {
return 1
} else {
return 0
}
} else {
return value
}
} else if (/(^-?[0-9]+(\.[0-9]*)?$)|(^-?\.[0-9]+$)|(^-?[0-9]+e[0-9]+$)/.test(value)) {
// 匹配是否是有效数字,含科学计数法
let a = value
let b = 0
b = a.indexOf('.')
let val = Number(a)
if (num === 0) { //当精度为0
if (val >= 0) {
if (b !== -1 && val >= 1) {
a = a.substring(0, b) //取整
} else { //四舍五入
if (val > 0 && val < 1) {
a = Math.round(val)
}
}
} else { //负数
if (b !== -1 && val <= -1) { //有小数点
a = a.substring(0, b) //取整
} else { //四舍五入
if (val < 0 && val > -1) {
a = Math.round(val)
if (-a === 0) {
a = 0
}
}
}
}
} else if (num) {//当精度不为0
if (b !== -1) { //有小数点
a = a.substring(0, b + num + 1)
}
}
return a
}
return value
}
网友评论