千位分割符

千位分隔符

1.在main.js中

// #ifndef VUE3
import Vue from 'vue'
import App from './App'

Vue.config.productionTip = false
//千位分割符
Vue.filter('decollator', (value) => {
	if (!value) return 0

	// 将数值转换为字符串,以便处理
	const valueStr = value.toString()
	const decimalIndex = valueStr.indexOf('.')

	// 根据小数点的位置来决定处理方式
	if (decimalIndex !== -1) {
		// 有小数部分
		const intPart = valueStr.substring(0, decimalIndex)
		const floatPart = valueStr.substring(decimalIndex + 1)
		// 根据小数位数决定保留几位
		return intPart.replace(/(\d)(?=(?:\d{3})+\b)/g, '$1,') +
			'.' +
			(floatPart.length > 1 ? floatPart.substring(0, 2) : floatPart.padEnd(1, '0'))
	} else {
		// 无小数部分,仅格式化整数部分
		return valueStr.replace(/(\d)(?=(?:\d{3})+\b)/g, '$1,')
	}
})
App.mpType = 'app'

const app = new Vue({
    ...App
})
app.$mount()

2.直接在组件中使用(最多保留两位小数,也可自行修改全保留,看需求)

<template>
	<view class="kongPage">
		<text>余额: {{money|decollator}}元</text>
		<text>余额: {{money1|decollator}}元</text>
		<text>余额: {{money2|decollator}}元</text>
	</view>
</template>
<script>
	export default {
			data() {
				return {
					money: 1000,
					money1: 1000.5,
					money2: 1000.213
				}
			}
	}
</script>

效果图:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值