javascript中的上限十进制格式
我想获取指定的格式编号。。 请帮帮我 我做了一个函数javascript中的上限十进制格式,javascript,regex,ceil,Javascript,Regex,Ceil,我想获取指定的格式编号。。 请帮帮我 我做了一个函数 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);
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”
我想要一个电话号码
请有人帮忙。您得到
255undefined
的原因是您没有将替换值与正则表达式一起传递给replace
函数。为什么不干脆做:
function ceilingAbsolute(inVal, pos){
var digits = Math.pow(10, pos);
return parseInt(inVal / digits) * digits;
}
您得到
255undefined
的原因是您没有将替换值与正则表达式一起传递给replace
函数。为什么不干脆做:
function ceilingAbsolute(inVal, pos){
var digits = Math.pow(10, pos);
return parseInt(inVal / digits) * digits;
}
您还可以执行以下操作:
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 += '';
var len = num.length;
if (pos < len) {
return num.substring(0,len-pos) + ('' + Math.pow(10, pos)).substring(1);
}
}
为什么在这里使用正则表达式,哦,为什么?类型错误:对象255555没有“替换”方法。您选择了
3
作为一个6
位长的示例,我假设为ceilingAbsolute(255555,2)
您期望的255500
。//elclars只是,我知道正则表达式:-)//麦理斯哦。。我需要字符串类型。。;;非常感谢。为什么在这里使用正则表达式,哦,为什么?类型错误:对象255555没有“替换”方法。您选择了3
作为一个6
位长的示例,我假设为ceilingAbsolute(255555,2)
您期望的255500
。//elclars只是,我知道正则表达式:-)//麦理斯哦。。我需要字符串类型。。;;非常感谢。如果您使用的是Math.pow(10,pos)
两次,您还可以缓存它。。你真是太可笑了!!我编辑了答案,因为你接受了它,将其截断,而不是四舍五入到最接近的10次方,因为这是你期望的输出。如果你使用Math.pow(10,pos)
两次,你最好缓存它。哇。。你真是太可笑了!!我编辑了答案,因为您接受了它,将其截断,而不是四舍五入到最接近的10次方,因为这是您期望的输出。