Javascript 如何在输入值之前递归地添加数字
这可能是个新手问题,但我想不出来 我有一个带有Javascript 如何在输入值之前递归地添加数字,javascript,angular,Javascript,Angular,这可能是个新手问题,但我想不出来 我有一个带有minlegth9的输入文本,我必须这样做: 如果用户只键入一个数字,我必须在此数字之前添加一些“0”,以达到value.length==9 Example: 123 => 000000123 我使用Angular 2输入表单和管道来转换结果 有人能帮忙吗 我找到了解决方案: transform(val) { var standardLength = "000000000"; return (standard
minlegth
9的输入文本,我必须这样做:
如果用户只键入一个数字,我必须在此数字之前添加一些“0”
,以达到value.length==9
Example:
123 => 000000123
我使用Angular 2输入表单和管道来转换结果
有人能帮忙吗
我找到了解决方案:
transform(val) {
var standardLength = "000000000";
return (standardLength + val).slice(-standardLength.length);
}
谢谢大家
number=("0".repeat(9)+number).substr(-9);
只需将其应用于更改时的输入值。如果您想要的长度始终是静态的(这里是9),这是最简单的方法
num=[1,11,11111111111];
对于(变量i=0;i<5;i++){
log(((“000000000”+num[i]).substr(-9,9));
}
您的方法不是最佳的
您可以使用Slice()
方法将任何需要的内容放入字符串中
即:
功能板(数量、大小){
var s=num+“”;
而(s.length
显示您迄今为止尝试的代码?可能重复的可能重复的
('0' + '').slice(-2)
function pad(num, size) {
var s = num+"";
while (s.length < size) s = "0" + s;
return s;
}
// usage
pad(123, 9)
transform(val){
let zeros = "000000000";
return zeros.concat(val).slice(Math.min(val.toString().length * -1,-9));
}