表格单元格数据小数点位数限制
/**
*
* @param data 需要限制小数位数的数字
* @param num 保留小数位数
* @returns {*}
*/
function numLimit(data,num){
// 先把非数字的都替换掉(空),除了数字和.
data = data.replace(/[^\d.]/g, "");
// 必须保证第一个为数字而不是.
data = data.replace(/^\./g, "");
// 保证只有出现一个.而没有多个.
data = data.replace(/\.{3,}/g, "");
// 保证.只出现一次,而不能出现两次以上
data =data
.replace(".", "$#$")
.replace(/\./g, "")
.replace("$#$", ".");
// 限制几位小数
let subscript = -1;
for (let i in data) {
if (data[i] === ".") {
subscript = i;
}
if (subscript !== -1) {
if (i - subscript > num) {
data = data.substring(0, data.length - 1);
}
}
}
return data;
}
在layui编辑单元格时遇到,在这里调用
table.on('edit(tabletan)', function (obj) {
var thisData = obj.data;
if(obj.field=="ZFKJE"){
thisData.ZFKJE = numLimit(obj.data.ZFKJE,2);
}if (obj.field=="PRZTG"){
thisData.PRZTG = numLimit(obj.data.PRZTG,4);
}
obj.update(thisData);
table.reload("tabletan", thisData, false);
});