export default {
// 不四舍五入
priceStr(price) {
let priceStr = parseFloat(price).toFixed(3);
return priceStr.substring(0, priceStr.length - 1);
},
//保留两位小数
formatDecimal(value) {
if(!value) return '0.00'
value = parseFloat(value)
value = value.toFixed(2) //保留两位小数
let intPart = Math.trunc(value) //获取整数部分
let intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') //每三个数字隔一个逗号
let floatPart = '.00'
let valueArray = value.toString().split('.') //截取小数部分
if(valueArray.length === 2){
floatPart = valueArray[1].toString()
return intPartFormat + '.' + floatPart
}
return intPartFormat + floatPart
},
//数字千位化
formatComma(value){
value = parseInt(value).toString()
if (value.length === 4) {
return '千'
}else if(value.length === 5){
return '万'
}else if(value.length === 6){
return '十万'
}else if(value.length === 7){
return '百万'
}else if(value.length === 8){
return '千万'
}else if(value.length === 9){
return '亿'
}else if(value.length === 10){
return '十亿'
}else if(value.length === 11){
return '百亿'
}else if(value.length === 12){
return '千亿'
}else if(value.length === 13){
return '兆'
}else if(value.length === 14){
return '十兆'
}else if(value.length === 15){
return '百兆'
}else if(value.length === 16){
return '千兆'
}else if(value.length === 17){
return '京'
}else if(value.length === 18){
return '十京'
}else if(value.length === 19){
return '百京'
}else if(value.length === 20){
return '千京'
}
},
//数字大写化
toCapital(number) {
let ret;
if (number !== '' && number != null && number !== '0') {
let unit = '仟佰拾亿仟佰拾万仟佰拾元角分'
let str = ''
number += '00'
const point = number.indexOf('.')
if (point >= 0) {
number = number.substring(0, point) + number.substr(point + 1, 2)
}
unit = unit.substr(unit.length - number.length)
for (let i = 0; i < number.length; i++) {
str +=
'零壹贰叁肆伍陆柒捌玖'.charAt(number.charAt(i)) + unit.charAt(i)
}
ret =
str
.replace(/零(仟|佰|拾|角)/g, '零')
.replace(/(零)+/g, '零')
.replace(/零(万|亿|元)/g, '$1')
.replace(/(亿)万|(拾)/g, '$1$2')
.replace(/^元零?|零分/g, '')
.replace(/元$/g, '元') + '整'
}
return ret;
},
//每三位数字分割逗号
SeparatorComma(number) {
if(!number) return '0.00'
number= number.toFixed(2)
var intPart = Math.trunc(number)// 整数部分
// 将整数部分每三位加一个逗号
var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
var floatPart = '.00' // 预定义小数部分
var commaArray = number.split('.') //去掉小数点
//如果有整数和小数
if(commaArray.length === 2) {
floatPart = commaArray[1].toString() // 拿数组后面部分,小数部分
if(floatPart.length === 1) {
return intPartFormat + '.' + floatPart + '0'
} else {
return intPartFormat + '.' + floatPart
}
} else {
return intPartFormat + floatPart
}
}
使用方法
例:
import Number from "@/utils/js/Number";
let value = Number.formatComma(54541)
//返回 万