我有一个简单的函数可以在数字前加零:
function validateString(length, str){
var newStr = '' + str;
for (var i = str.length; i < length; i++)
newStr = '0' + newStr;
return newStr;
}
我需要更改什么(变量类型?)才能使其也适用于数字?
validateString(12,2);
"2" // Unexpected rezult
validateString(12,'2');
"000000000002"
最佳答案
发生这种情况是因为您正在调用 str.length
而不是 newStr.length
。数值具有未定义的长度。
改变:
for (var i = str.length; i < length; i++)
至:
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'));
关于javascript - 为什么 JavaScript 会削减零?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38347250/