input输入金额,千分位和取消千分位

input 输入金额,失去焦点自动转化成百分位展示,编辑focus的时候自动取消百分位

页面代码:

<div style="width: 300px;">
   <el-input
       v-model="text"
       placeholder="Please input"
       type="text"
	   @focus="inputFocus"
	   @blur="inputBlur"
     />
	</div>

逻辑处理:
需要定义两个方法,一个是失去焦点转化千分位,一个是获取焦点取消千分位

const text = ref()
	const inputFocus = ()=>{
		inputFoces(text.value)
	}
	const inputBlur = ()=>{
		fmoney(text.value)
		
	}
	const fmoney = (val)=>{
		if(val === '' || val == null || isNaN(val)){
			return val || 0.00
		}else{
			val = Math.round(val * Math.pow(10,2)) / Math.pow(10,2)
			val = Number(val).toFixed(2)
			val = isNaN(Number(val)) ? '' : Number(val).toLocaleString()
			let dotLen = 0
			let idx = val.indexOf('.')
			if(idx > -1){
				dotLen = val.substr(idx).length - 1
			}
			if(dotLen == 0){
				val = val+ '.00'
			}else if(dotLen == 1){
				val = val + '0'
			}
			text.value = val
			return val
		}
	}
	
	const inputFoces = (val)=>{
		if((val + '').trim() === ''){
			return ''
		}
		if(val){
			val = val.replace(/,/gi,'')
			val = Math.round(val * Math.pow(10,2)) / Math.pow(10,2)
			val = Number(val).toFixed(2)
			text.value = val
			return val
		}
		return val
	}
  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值