验证数字为非负数,并强制保留两位小数。(不进行四舍五入)

直接上代码:

/*检测数字是非负数,并且强制保留两位小数:传进来的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().

你可能感兴趣的:(js,js)