正如评论员所指出的那样,该解决方案是“聪明的”,而且通常就像聪明的解决方案一样,它占用大量内存并且相对较慢。如果您担心性能,请不要使用此解决方案!
可能已过时:自ECMAscript 3.1起,ECMAscript2017包含 String.prototype.padStart和 Number.prototype.toLocaleString。例:
var n=-0.1;n.toLocaleString('en',{minimumIntegerDigits:4,minimumFractionDigits:2,useGrouping:false})
…将输出“ -0000.10”。
// orconst padded = (.1+"").padStart(6,"0");`-${padded}`…将输出“ -0000.1”。
您只需一个简单的功能
function zeroFill( number, width ){ width -= number.toString().length; if ( width > 0 ) { return new Array( width + (/./.test( number ) ? 2 : 1) ).join( '0' ) + number; } return number + ""; // always return a string}
如果您想保留名称空间或其他内容,可以将其拷贝到库中。就像jQuery的extend一样。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)