84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
例如:指定返回字符串长度是4,操作数是5,如何将这个5,变为'0005'返回
谢谢大家的回答!回答里有好几种思路,受益匪浅,再次感谢大家的回答,谢谢!
光阴似箭催人老,日月如移越少年。
function foo(str){ str ='00000'+str; return str.substring(str.length-5,str.length); }
javascript//给数字字符串补零,不支持负数 function padNumber(num, fill) { //改自:http://blog.csdn.net/aimingoo/article/details/4492592 var len = ('' + num).length; return (Array( fill > len ? fill - len + 1 || 0 : 0 ).join(0) + num); }
javascript
//给数字字符串补零,不支持负数 function padNumber(num, fill) { //改自:http://blog.csdn.net/aimingoo/article/details/4492592 var len = ('' + num).length; return (Array( fill > len ? fill - len + 1 || 0 : 0 ).join(0) + num); }
曾经拜读过在js中做数字字符串补0 这篇文章,受益匪浅,这个是在月影提供的版本上改进强壮了一点点的实现。 前辈们的思考值得我们学习。
不支持负数的话,可以这样:
function zfill(num, size) { var s = "000000000" + num; return s.substr(s.length-size); }
javascriptfunction preZeroFill (num, size) { if (num >= Math.pow(10, size)) { //如果num本身位数不小于size位 return num.toString(); } else { var _str = Array(size + 1).join('0') + num; return _str.slice(_str.length - size); } } preZeroFill(5, 4);
function preZeroFill (num, size) { if (num >= Math.pow(10, size)) { //如果num本身位数不小于size位 return num.toString(); } else { var _str = Array(size + 1).join('0') + num; return _str.slice(_str.length - size); } } preZeroFill(5, 4);
此方法借鉴自captainblue的回答,并做优化,给赞请给captainblue.
https://github.com/alexei/sprintf.js
function prefix(num, val) { return (new Array(num).join('0') + val).slice(-num); }
new Array(4).join('0').concat(5)
function padLeft(number, size) { return number.toFixed(size - number.toString().length).replace('.', '').split('').reverse().join(''); }
javascriptif (!String.prototype.zfill) { String.prototype.zfill = function(len) { if (len == undefined || typeof len != 'number' || this.length >= len) {return this.toString()} return Array(len - this.length + 1).join('0') + this; } }
if (!String.prototype.zfill) { String.prototype.zfill = function(len) { if (len == undefined || typeof len != 'number' || this.length >= len) {return this.toString()} return Array(len - this.length + 1).join('0') + this; } }
javascriptfunction prefix(size, num) { var sLen = ('' + num).length; if (sLen >= size) { return '' + num; } var preZero = (new Array(size)).join('0'); return preZero.substring(0, size - sLen) + num; }
function prefix(size, num) { var sLen = ('' + num).length; if (sLen >= size) { return '' + num; } var preZero = (new Array(size)).join('0'); return preZero.substring(0, size - sLen) + num; }
参考了ls的答案。
曾经拜读过在js中做数字字符串补0 这篇文章,受益匪浅,这个是在月影提供的版本上改进强壮了一点点的实现。
前辈们的思考值得我们学习。
不支持负数的话,可以这样:
此方法借鉴自captainblue的回答,并做优化,给赞请给captainblue.
https://github.com/alexei/sprintf.js
参考了ls的答案。