JavaScript中的数字是没有前置0的,因此需要我们自己进行操作来添加前置0,而且还得转换成字符串。
<html>
<body>
<script>
//迭代方式实现
function padding1(num, length) {
for(var len = (num + "").length; len < length; len = num.length) {
num = "0" + num;
}
return num;
}
//递归方式实现
function padding2(num, length) {
if((num + "").length >= length) {
return num;
}
return padding2("0" + num, length)
}
//转为小数
function padding3(num, length) {
var decimal = num / Math.pow(10, length);
//toFixed指定保留几位小数
decimal = decimal.toFixed(length) + "";
return decimal.substr(decimal.indexOf(".")+1);
}
//填充截取法
function padding4(num, length) {
//这里用slice和substr均可
return (Array(length).join("0") + num).slice(-length);
}
//填充截取法
function padding5(num, length) {
var len = (num + "").length;
var diff = length - len;
if(diff > 0) {
return Array(diff).join("0") + num;
}
return num;
}
</script>
</body>
</html>