vue四舍五⼊保留四位⼩数和只能输⼊4位⼩数⼆这个也好⽤
<el-table-column label="数量" min-width="120">
<template slot-scope="scope">
<el-form-item
:prop="'product_bom.' + scope.$index + '.count'"
:ref="'product_bom.' + scope.$index + '.count'"
:rules="[
{ required: true,  message: '请填写数量,最多5位⼩数'},
]"
>
<el-input
:
disabled="inputDisable"
v-model="unt"
onkeyup="if(isNaN(value)){value=null}if(value.indexOf('.')>0){value=value.slice(0,value.indexOf('.')+6)}"></el-input>
</el-form-item>
</template>
</el-table-column>
三基本⽤法四舍五⼊
methods: {
// ⼩数点后4位
decimal4(value) {
const newVal = parseFloat(value).toFixed(4);
return newVal;
},
},
四只能输⼊n位⼩数
// 保留⼩数函数
oninputNum(val, num) {
if (val) {
// 转字符串
let str = typeof val == "string" ? val : String();
let len1 = str.substr(0, 1);
let len2 = str.substr(1, 1);
/
/ 如果第⼀位是0,第⼆位不是点,就⽤数字把点替换掉
if (str.length > 1 && len1 == 0 && len2 != ".") {
str = str.substr(1, 1);
}
// 第⼀位不能是.
if (len1 == ".") {
str = "";
}
// 限制只能输⼊⼀个⼩数点
if (str.indexOf(".") != -1) {
var str_ = str.substr(str.indexOf(".") + 1);
if (str_.indexOf(".") != -1) {
str = str.substr(0, str.indexOf(".") + str_.indexOf(".") + 1);
}
}
// 正则替换
str = place(/[^\d^\.]+/g, ""); // 保留数字和⼩数点
if (num == 2) {
str = place(/^(\-)*(\d+)\.(\d{2}).*$/, "$1$2.$3"); // ⼩数点后只能输2位vue element admin
}
if (num == 4) {
str = place(/^(\-)*(\d+)\.(\d{4}).*$/, "$1$2.$3"); // ⼩数点后只能输4位
}
return str;
} else {
return val;
}
},
// 调⽤使⽤
this.value = inputNum(
this.value,
2
);
五 vue校验只能输⼊⼩数
data() {
const decimal4 = (rule, value, callback) => {
const num = /^\d+(\.\d{1,4})?$/;
if (!st(value)) {
callback(new Error("请输⼊数字,最多四位⼩数!"));      } else {
callback();
}
};
return {
// 加载
loading: true,
// 校验
Rules: {
price: [
{
required: true,
message: "请填写⼯业价格,最多4位⼩数",
validator: decimal2,
trigger: "blur"
}
],
}
}
},

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。