vue封装全局方法,数字大于1000小于10000,显示千,、数字大于10000小于100000000,显示万,数字大于100000000,显示亿,千级别: 不保留小数点;万级别: 保留小数点后两位,亿级别: 保留小数点后三位
时间: 2023-09-30 07:02:37 浏览: 38
你可以在 Vue 的原型上挂载一个全局方法,例如:
```javascript
Vue.prototype.formatNumber = function (num) {
if (num >= 100000000) {
return (num / 100000000).toFixed(3) + '亿'
} else if (num >= 10000) {
return (num / 10000).toFixed(2) + '万'
} else if (num >= 1000) {
return Math.floor(num / 1000) + '千'
} else {
return num.toString()
}
}
```
然后在组件中就可以使用这个全局方法了:
```html
<template>
<div>{{ formatNumber(123456789) }}</div>
</template>
<script>
export default {
methods: {
formatNumber(num) {
return this.$root.formatNumber(num)
}
}
}
</script>
```
注意,这里的千级别是不保留小数点,如果想要保留一位小数,可以将 `Math.floor` 改为 `num.toFixed(1)`,同理,万级别和亿级别也可以根据需求调整保留小数点的位数。
相关问题
vue封装全局方法,数字大于1000小于10000,显示千
可以在 Vue 的 `prototype` 对象上添加一个方法,将数字转换为千位数,代码如下:
```javascript
Vue.prototype.formatNumber = function(num) {
if (num >= 1000 && num < 10000) {
return (num / 1000).toFixed(1) + '千';
} else {
return num;
}
}
```
然后在组件中就可以使用这个全局方法了:
```html
<template>
<div>{{ formatNumber(2500) }}</div>
</template>
<script>
export default {
methods: {
formatNumber(num) {
return this.$root.formatNumber(num);
}
}
}
</script>
```
这样就可以把 `2500` 转换为 `2.5千`。
Vue中input框数字大于0
如果你想让`input`框中输入的数字大于0,可以使用`min`属性来限制输入的最小值为1,代码示例如下:
```html
<input type="number" min="1">
```
这样用户在输入数字时,如果输入的数字小于1,就会出现浏览器默认的错误提示,并且无法提交表单,直到输入的数字大于等于1为止。