js------保留指定位数小数

// tofix.js文件
// params
// val: 要处理的数据,Number | String
// len: 保留小数位数,位数不足时,以0填充
// side: 1|-1 对应 入|舍
export default (val, len, side) => {
const numval = Number(val)
if (isNaN(numval)) return 0
const str = val.toString()
if (str.indexOf('.') > -1) {
let numArr = str.split('.')
if (numArr[1].length > len) {
let tempnum = numval * Math.pow(10, len)
if (!side) {
return Number(val).toFixed(len)
} else if (side === 1) {
if (tempnum < 1) return (1 / Math.pow(10, len))
return (Math.ceil(tempnum) / Math.pow(10, len)).toFixed(len)
} else if (side === -1) {
return (Math.floor(tempnum) / Math.pow(10, len)).toFixed(len)
} else {
return Number(val.toFixed(len))
}
} else {
return Number(str).toFixed(len)
}
} else {
return Number(val).toFixed(len)
}
}
// 用法:
import tofix from './tofix'
tofix(0.002154, 4, 1) // 0.0022,末位自动加1
tofix(0.002154, 4, -1) // 0.0021,舍去多余小数
tofix(0.002154, 4) // 0.0022,采用四舍五入
上一篇:Golang的聊天服务器实践(群聊,广播)(一)


下一篇:你真的会用Gson吗?Gson使用指南(2)