<el-input
style="width:100%"
v-model.trim="form.assessPrice"
placeholder="请输入整数"
class="ainput"
size="mini"
maxlength="10"
@focus="uninputMoney($event)"
@blur="inputMoney($event)"
>
inputMoney (el) {
const reg = /^[1-9][0-9]*$/g
if (!reg.test(el.target.value)) {
return this.$message.error('请输入正整数')
}
let temp = Number(el.target.value) || null
this.form.assessPrice = this.priceFormat(temp, 0)
},
// 获得焦点金额去掉格式
uninputMoney (el) {
if (el.target.value) {
this.form.assessPrice = this.delcommafy(el.target.value)
} else {
this.form.assessPrice = ''
}
},
priceFormat (num, n) {
n = n || 0
let symbol = ','
if (num === null) return num
if (typeof num !== 'number') {
throw new TypeError('num参数应该是一个number类型')
}
let hasDot = parseInt(num) !== num // 这里检测num是否为小数,true表示小数
let m = n !== undefined && n !== null ? n : 1
num =
m === 0
? num.toFixed(m) + '.'
: hasDot
? n
? num.toFixed(n)
: num
: num.toFixed(m)
symbol = symbol || ','
num = num
.toString()
.replace(/(\d)(?=(\d{3})+\.)/g, function (match, p1, p2) {
return p1 + symbol
})
if (n === 0 || (!hasDot && !n)) {
// 如果n为0或者传入的num是整数并且没有指定整数的保留位数,则去掉前面操作中的小数位
num = num.substring(0, num.indexOf('.'))
}
return num
},
// 去除千分位中的‘,’
delcommafy (num) {
if (!num) return num
num = num.toString()
num = num.replace(/,/gi, '')
if (num.indexOf('.00') > 0) num = parseInt(num)
return num
},
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异