Javascript 在字符串前面添加零
我需要你的帮助 我想创建一个函数,在数字前面加上一些零。总字符串应具有的最大位数为6。以下是一些例子:Javascript 在字符串前面添加零,javascript,string,numbers,Javascript,String,Numbers,我需要你的帮助 我想创建一个函数,在数字前面加上一些零。总字符串应具有的最大位数为6。以下是一些例子: 9 -> 000009 14 -> 000014 230 -> 000230 1459 -> 001459 21055 -> 021055 987632 -> 987632 (Do nothing, there's already 6 digits) 我已经使用SugarJSAPI很长一段时间了,它们的填充功能非常有效 等等
9 -> 000009
14 -> 000014
230 -> 000230
1459 -> 001459
21055 -> 021055
987632 -> 987632 (Do nothing, there's already 6 digits)
我已经使用SugarJSAPI很长一段时间了,它们的填充功能非常有效
等等。以下内容将在数字字符串中添加一个零,直到长度等于6
var s = '9876'
while(s.length < 6){
s = '0' + s
}
alert(s)
var s='9876'
而(s.长度<6){
s='0'+s
}
警报
您需要将数字转换为字符串。然后我将该字符串拆分为一个数组,然后将“0”添加到该数组的前面,直到长度为6。然后加入。请查看此repl或查看以下代码:
var num=14;
var lengthOfNum=6;
var numString=num.toString();
var numArray=numString.split(“”);
var returnString='';
而(numArray.length<6){
Numaray.unshift('0');
}
returnString=numArray.join(“”);
递归解决方案仅供参考:
function padNumberString(numberString) {
if (numberString.length >= 6) {
return numberString;
}
return padNumberString('0' + numberString);
}
再来一个。这一款适用于:
padZerosToLength(1, 6, 0); ===> 000001
padZerosToLength(12, 6, 0); ===> 000012
padZerosToLength(123, 6, 0); ===> 000123
padZerosToLength(1234, 6, 0); ===> 001234
padZerosToLength(12345, 6, 0); ===> 012345
padZerosToLength(123456, 6, 0); ===> 123456
。长度可变:
padZerosToLength(1, 1, 0); ===> 1
padZerosToLength(1, 2, 0); ===> 01
padZerosToLength(1, 3, 0); ===> 001
padZerosToLength(1, 4, 0); ===> 0001
padZerosToLength(1, 5, 0); ===> 00001
padZerosToLength(1, 6, 0); ===> 000001
。并具有不同的填充字符:
padZerosToLength(1, 6, 0); ===> 000001
padZerosToLength(1, 6, 1); ===> 111111
padZerosToLength(1, 6, "x"); ===> xxxxx1
padZerosToLength(1, 6, "."); ===> .....1
padZerosToLength(1, 6, " "); ===> 1
padZerosToLength(1, 6, "\u25CF"); ===> ●●●●●1
没有任何循环的简单单线解决方案
适用于IE5-11、Firefox、Chrome等。采用整数输入
function pad(n) { return ("000000" + n).slice(-6); }
运行要测试的代码段:
试验
功能板(n){return(“000000”+n).slice(-6);}
功能测试(){
var n=parseInt(document.getElementById('stdin').value);
var e=document.getElementById('stdout')。innerHTML+=n+'='+pad(n)+'\n';
}
一个简单的解决方案是
function addLeadingZeros (n, length)
{
var str = (n > 0 ? n : -n) + "";
var zeros = "";
for (var i = length - str.length; i > 0; i--)
zeros += "0";
zeros += str;
return n >= 0 ? zeros : "-" + zeros;
}
//addLeadingZeros (9, 3) = "009"
//addLeadingZeros (15, 3) = "015"
//addLeadingZeros (333, 3) = "333"
祝你好运如果您尝试了某些内容,并且遇到了某些需要帮助的特定错误,请告诉我们。请显示您迄今为止尝试过的内容。如果您希望能够动态定义填充长度,则可能重复:
function pad(n,len){return((新数组(len+1).join('0'))+n.slice(-len);}
允许动态声明长度的一种更有效的方法:函数pad(n,str){return(str+n).slice(-str.length);}
用法:pad(number,'000000')
通过传递一个静态字符串,可以避免在每次调用时不动态创建字符串。额外的好处:你可以通过任何字符串来传递信息:pad(数字“,”)代码>这是Java吗?这个问题被标记为JavaScript
.man.。我没有看到这个,我被选中了。net标记这个问题
padZerosToLength(1, 6, 0); ===> 000001
padZerosToLength(1, 6, 1); ===> 111111
padZerosToLength(1, 6, "x"); ===> xxxxx1
padZerosToLength(1, 6, "."); ===> .....1
padZerosToLength(1, 6, " "); ===> 1
padZerosToLength(1, 6, "\u25CF"); ===> ●●●●●1
function pad(n) { return ("000000" + n).slice(-6); }
function addLeadingZeros (n, length)
{
var str = (n > 0 ? n : -n) + "";
var zeros = "";
for (var i = length - str.length; i > 0; i--)
zeros += "0";
zeros += str;
return n >= 0 ? zeros : "-" + zeros;
}
//addLeadingZeros (9, 3) = "009"
//addLeadingZeros (15, 3) = "015"
//addLeadingZeros (333, 3) = "333"