直接上代码:
/*检测数字是非负数,并且强制保留两位小数:传进来的name是选择器*/
function changeTwoDecimal_f(x,name) {
//console.log(name);
if(!Number(x)){
layer.open({type:4,skin: '',closeBtn:0,time:5000,shade:0,fixed:true,scrollbar:false,content:["您输入的格式不正确,请重新输入!",name]});
return "0.00";
}
var f_x =parseFloat(x);
if (isNaN(f_x)) {
layer.open({type:4,skin: '',closeBtn:0,time:5000,shade:0,fixed:true,scrollbar:false,content:["您输入的格式不正确,请重新输入!",name]});
return "0.00";
}
var f_x = Math.round(x * 100) / 100;
var s_x =Math.abs(f_x).toString();
var pos_decimal = s_x.indexOf('.');
if (pos_decimal < 0) {
pos_decimal = s_x.length;
s_x += '.';
}
while (s_x.length <= pos_decimal + 2) {
s_x += '0';
}
return s_x;
};
今天发现发现还是进行四舍五入了,是由于用到了Math.round()对值进行了处理,如果不想要进行四舍五入,可以将Math.round()改为Math.floor().