在字符串前面添加零

时间:2015-05-27 18:59:58

标签: javascript string numbers

我需要你的帮助。

我想创建一个在数字前添加一些零的函数。总字符串应具有的最大位数为6.以下是示例:

     9 -> 000009
    14 -> 000014
   230 -> 000230
  1459 -> 001459
 21055 -> 021055
987632 -> 987632 (Do nothing, there's already 6 digits)

8 个答案:

答案 0 :(得分:12)

没有任何循环的简单单行解决方案

适用于IE5-11,Firefox,Chrome等。假设整数输入。

 function pad(n) { return ("000000" + n).slice(-6); }

运行代码段进行测试:



<html>
<body>
<input id="stdin" placeholder="enter a number" maxlength="6"><button onclick="test()">Test</button>
<textarea id="stdout" style="width:100%;height:20em;padding:1em;"></textarea>
<script type="text/javascript">
    
   function pad(n) { return ("000000" + n).slice(-6); }
    
   function test() {
       var n = parseInt( document.getElementById('stdin').value);
       var e = document.getElementById('stdout').innerHTML += n + ' = ' + pad(n) + '\n';
   }
 
</script>
</body>
</html>
&#13;
&#13;
&#13;

答案 1 :(得分:5)

以下内容将为数字字符串添加零,直到长度等于6。

var s = '9876'
while(s.length < 6){
  s = '0' + s
}
alert(s)

答案 2 :(得分:3)

还有一个。 。 。这个适用于:

  1. 字符串和数字,
  2. 处理变量长度,
  3. 允许您选择填充字符
  4. 代码:

    public int findSong(String searchtitle) {
            String str;
            int index = 0;
            for(Song s : songs){
                if(s.title.equalsIgnoreCase(searchtitle))
                    return index;
                index++;
            }
        }
    

    以下是一些输入变化的示例结果:

    function padZerosToLength (value, minLength, padChar) {
        var iValLength= value.toString().length;
        return ((new Array((minLength + 1) - iValLength).join(padChar)) + value);
    }
    

    。 。 。长度各不相同:

    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
    

答案 3 :(得分:1)

您需要将数字转换为字符串。然后我将该字符串拆分为一个数组,然后将“0”添加到该数组的前面,直到长度为6.然后加入。查看此repl或查看以下代码:http://repl.it/piT

var num = 14;
var lengthOfNum = 6;
var numString = num.toString();
var numArray = numString.split('');
var returnString = '';

while (numArray.length < 6) {
    numArray.unshift('0');
}

returnString = numArray.join('');

答案 4 :(得分:0)

递归解决方案只是为了它:

function padNumberString(numberString) {
    if (numberString.length >= 6) {
        return numberString;
    }
    return padNumberString('0' + numberString);
}

答案 5 :(得分:0)

编辑:我的解决方案质量不是很高。

  

请参阅下面的@Roberto's answer,这是最佳解决方案。如果提问者想将其更改为接受的答案,我可以删除此答案。

答案 6 :(得分:-1)

一个简单的解决方案是

.jawcontain {display: flex;flex-direction: column;justify-content: space-between;border: white solid 7px;border-radius: 23px;}

.jaw {background-color: rgb(24, 24, 24);border-radius: 5%;display: flex;flex-direction: row;padding-top: 2%;padding-bottom: 5%;border: 10px solid rgb(0, 151, 255);justify-content: space-around;}

.hala {border: white solid 2px;padding-left: 10%;border-radius: 5%;margin-right: 2% display: flex;flex-basis: 40%;flex-direction: column;background: black;justify-content: space-around;}

答案 7 :(得分:-2)

我已经使用SugarJs API很长一段时间了,他们的填充功能很棒。

http://sugarjs.com/api/Number/pad

(9).pad(6, true) --> 000009
(14).pad(6, true) --> 000014

等...