我想获得指定的格式编号.. 帮我PLZ ..
我做了功能
function ceilingAbsolute(inVal, pos){
var digits = Math.pow(10, pos);
var num = 0;
var patten = "[0-9]{"+pos+"}$";
var re = new RegExp(patten, "");
num = inVal.replace(re);
num = num * digits;
return num;
}
var testVal = ceilingAbsolute(255555, 3) ;
我预计testVal = 255000,但得到“255undefined” ..
我想获得天花板deciaml数字..
有人请帮助..
答案 0 :(得分:6)
您获得255undefined
的原因是您没有将替换值与正则表达式一起传递给replace
函数。为什么不这样做:
function ceilingAbsolute(inVal, pos){
var digits = Math.pow(10, pos);
return parseInt(inVal / digits) * digits;
}
答案 1 :(得分:0)
你也可以这样做:
function absFloor(num, pos) {
num += '';
var len = num.length;
if (pos < len) {
return num.substring(0,len-pos) + ('' + Math.pow(10, pos)).substring(1);
}
}
它可以减少到两行,但我认为测试很重要:
function absFloor(num, pos) {
num += '';
return num.substring(0,num.length-pos) + ('' + Math.pow(10, pos)).substring(1);
}