从String转换为Number但只包含有效整数的字符串

时间:2018-03-07 14:50:52

标签: javascript string integer

我的输入始终是 String 。该字符串可以包含整数或文本:

intputString = "1";

inputString = "hey";

我想只将那些包含整数的输入转换为 Number 。否则,输入需要保持不变。

例如,如果我有一个整数:

inputString = "288";          // <-- Make the conversion 
desiredOutput = 288;

如果我有非整数文本:

inputString = "hey";         // <-- Don't make the conversion and leave it as is
desiredOutput = "hey";

我使用的是Numbers(inputString),但这会将文本值转换为NaN

如何实现此转化?

编辑:重复问题的答案都没有回答这个问题。

2 个答案:

答案 0 :(得分:3)

只需将输入转换为Number即可。如果结果为NaN,则返回原始字符串,否则返回已转换的值。

&#13;
&#13;
function convert(input) {
    if(input === "0") {
        return 0;
    }
    return Number(input) || input;
}

console.log(convert("288"));
console.log(convert("hey"));
console.log(convert("0"));
console.log(convert(""));
&#13;
&#13;
&#13;

答案 1 :(得分:0)

也许是这样的:

if(!isNaN(inputString))
    output = inputString;
else
    //Input is not a number