Reputation: 225
I have a simple function to add zeros before numbers:
function validateString(length, str){
var newStr = '' + str;
for (var i = str.length; i < length; i++)
newStr = '0' + newStr;
return newStr;
}
What do I need to change (types of variables?) to make it works for the numbers too?
validateString(12,2);
"2" // Unexpected rezult
validateString(12,'2');
"000000000002"
Upvotes: 3
Views: 114
Reputation: 128856
This is happening because you're calling str.length
and not newStr.length
. Number values have an undefined length.
Change:
for (var i = str.length; i < length; i++)
To:
for (var i = newStr.length; i < length; i++)
function validateString(length, str){
var newStr = '' + str;
for (var i = newStr.length; i < length; i++)
newStr = '0' + newStr;
return newStr;
}
console.log(validateString(12,2));
console.log(validateString(12,'2'));
Upvotes: 7