/**
* @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
}
2021-08-09 精度处理
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 问题定位到了manifest文件中了,经过一番摸索和搜索,最终在application节点中发现这么两行代码 只需...
- 夫妻婚姻存续期间,有些行为属于重大过错,可导致夫妻离婚、财产损失等,严重的可能属于犯罪,要承担刑事责任。常见的重大...