/**
* @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 精度处理
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 问题定位到了manifest文件中了,经过一番摸索和搜索,最终在application节点中发现这么两行代码 只需...
- 夫妻婚姻存续期间,有些行为属于重大过错,可导致夫妻离婚、财产损失等,严重的可能属于犯罪,要承担刑事责任。常见的重大...