Vad*_*iak 3 javascript string number-formatting
我有一个简单的函数在数字前添加零:
function validateString(length, str){
var newStr = '' + str;
for (var i = str.length; i < length; i++)
newStr = '0' + newStr;
return newStr;
}
Run Code Online (Sandbox Code Playgroud)
我需要更改什么(变量的类型?)以使其适用于数字?
validateString(12,2);
"2" // Unexpected rezult
validateString(12,'2');
"000000000002"
Run Code Online (Sandbox Code Playgroud)
发生这种情况是因为你打电话str.length而不是newStr.length.数值具有未定义的长度.
更改:
for (var i = str.length; i < length; i++)
Run Code Online (Sandbox Code Playgroud)
至:
for (var i = newStr.length; i < length; i++)
Run Code Online (Sandbox Code Playgroud)
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'));Run Code Online (Sandbox Code Playgroud)