/** thousandthAmount 千位符转换
* @params data 需要转入的值
* @params intgger 是否取绝对值 true:取绝对值 false:不取绝对值
* @params accuracy 传值:保留几位小数 默认为null返回传入值
* @params toFixed2 是否保留2位小数
*/
export const thousandthAmount = function (data: number, intgger = false, accuracy?: null, toFixed2?: false): number {
let number = (data || 0).toString()
let oldNumber = (data || 0).toString()
number = Math.abs(Number(number)).toString()
// if (intgger) number = Math.abs(Number(number)).toString()
const index = number.indexOf('.')
let int:any = ''
let decimal = ''
let result = ''
if (index !== -1) {
int = number.split('.')[0]
decimal = number.split('.')[1]
while (int.length > 3) {
result = ',' + int.slice(-3) + result
int = int.slice(0, int.length - 3)
}
if (accuracy) {
var decimalNum = parseFloat('0.' + decimal).toFixed(accuracy)
decimal = decimalNum.split('.')[1]
}
if(Number(accuracy) === 0){
int = Math.round(int)
}
if (int || int === 0) {
if(Number(accuracy) === 0){
result = int
}else{
result = int + result + '.' + decimal
}
}
} else {
if(toFixed2) {
decimal = '.00'
}
while (number.length > 3) {
result = ',' + number.slice(-3) + result
number = number.slice(0, number.length - 3)
}
if (number) {
// 正负号
var sign = ''
if(intgger) {
var sign = (Number(number) * 1) < 0 ? '-' : ''
}else{
var sign = (Number(oldNumber) * 1) < 0 ? '-' : ''
}
result = sign + number + result + decimal
}
}
return result as unknown as number
}
utils内添加 在需要页面直接引入就可以啦!