我在 Javascript 中有一个数字,我知道它小于 10000 并且也是非负数。我想将它显示为一个四位数字,前导零。还有什么比以下更优雅的吗?
if(num<10) num="000"+num;
else if(num<100) num="00"+num;
else if(num<1000) num="0"+num;
我想要一些内置在 Javascript 中的东西,但我似乎找不到任何东西。
最佳答案
我能想到的最简单的方法是这样的:
("000" + num).slice(-4)
填充数字是一个字符串。
将数字添加到字符串时,会转换为字符串。
Strings 有一个方法 slice,它返回一段固定长度的字符串。
如果长度为负,则返回的字符串从字符串的末尾开始切分。
测试:
var num=12;
console.log(("000" + num).slice(-4)); // Will show "0012"
当然,这仅适用于最多 4 位的正整数。一个稍微复杂的解决方案,将处理正整数:
'0'.repeat( Math.max(4 - num.toString().length, 0)) + num
通过重复加零来创建一个字符串,只要位数(字符串的长度)小于4 添加数字,然后也将其转换为字符串。
编辑:从现在开始你可能应该使用这个功能:
String(num).padStart(4,'0')
它仍然不能处理负数...
https://stackoverflow.com/questions/1127905/