在JS中将字符串转换为数字

时间:2015-08-09 07:25:22

标签: javascript

有人可以告诉为什么" inputValue'以下函数中的变量未转换为数字。我期待第二个console.log报告该变量现在是一个数字(因为我将parseInt应用于它)。 但显然它仍然是一个字符串。

function checkIfNum(){
    var inputValue = document.getElementsByTagName('input')[0].value;
    console.log(inputValue);

    // Convert to a number
    parseInt(inputValue);

    console.log(typeof(inputValue));
}

3 个答案:

答案 0 :(得分:3)

你没有对typeof结果做任何事情,所以你正在对inputValue的原始值进行parseInt是一个字符串。将inputValue的结果分配给function checkIfNum(){ var inputValue = document.getElementsByTagName('input')[0].value; console.log(inputValue); // Assign the result of parseInt inputValue = parseInt(inputValue, 10); console.log(typeof(inputValue)); } ,您的代码将正常运行:

parseInt

JsFiddle(Stack Snippets似乎已关闭)。

我在parseInt调用中添加了一个基数以确保在某些旧浏览器中将其解析为十进制值,这也是值得的。

答案 1 :(得分:1)

因为您没有将inputValue的结果分配给任何内容,特别是inputValue = parseInt(inputValue); 。纠正:

tabitems(
 tabItem(tabName = "plot1", 
       box( width = "100%" , height = "100%", solidHeader = FALSE, status = "primary",
         plotOutput("plot"))
)

答案 2 :(得分:0)

您必须将parseInt(inputValue)的返回值存储为新变量或覆盖现有变量

function checkIfNum(){
var inputValue = document.getElementsByTagName('input')[0].value;
console.log(inputValue);

// Convert to a number
var newInputValue = parseInt(inputValue);

console.log(typeof(newInputValue));
}