export function numberToCurrencyNo (value, decimal = 2, handleNeg = false) {
let res = ''
if (value === "--") return value
if (!value) return value
if (value.toString()[0] === '-' && Number(value.toString().slice(1, value.toString().length)).toFixed(decimal) == 0) {
return (0).toFixed(decimal)
}
// 判断负数(-55 -1,500)
let minus = value < 0 || (value.toString().includes(',') && value.toString()[0] === '-') ? '-' : ''
if (value && value.toString().includes(',')) {
value = value.replace(/,/g, '') // 千分符移除
}
value = parseFloat(value).toFixed(decimal)
// 获取整数部分
const intPart = Math.trunc(value)
// 整数部分处理,增加,
let intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
if (intPartFormat == 0 && minus == '-') {
intPartFormat = '-0'
}
// 预定义小数部分
let floatPart = ''
// 将数值截取为小数部分和整数部分
const valueArray = value.toString().split('.')
if (valueArray.length === 2) { // 有小数部分
floatPart = valueArray[1].toString() // 取得小数部分
res = intPartFormat + '.' + floatPart
} else {
res = intPartFormat + floatPart
}
// 负数展示为括号,例如:-10展示为(10)
if (minus === '-' && handleNeg) {
res = `(${res.substring(1)})`
}
return res
}
数字处理成带千分位
最新推荐文章于 2024-07-14 12:56:18 发布