Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编号+;数字=”;numbernumber";在JavaScript中_Javascript_Html_Textbox_Numbers - Fatal编程技术网

编号+;数字=”;numbernumber";在JavaScript中

编号+;数字=”;numbernumber";在JavaScript中,javascript,html,textbox,numbers,Javascript,Html,Textbox,Numbers,如果我在文本框中键入50并将0作为偏移量,则得到050。为什么?代码如下: alert(allspan[i].offsetTop+document.getElementById("size").value); .value的返回类型是一个字符串,因此您得到的是字符串串联,而不是两个数字相加 您需要对值使用parseInt alert(allspan[i].offsetTop + parseInt(document.getElementById("size").value,10)); 您可能需

如果我在文本框中键入50并将0作为偏移量,则得到050。为什么?代码如下:

alert(allspan[i].offsetTop+document.getElementById("size").value);

.value
的返回类型是一个字符串,因此您得到的是字符串串联,而不是两个数字相加

您需要对值使用
parseInt

alert(allspan[i].offsetTop + parseInt(document.getElementById("size").value,10));

您可能需要使用
parseInt(myVar)
parseFloat(myVar)
将其转换为数字数据类型。

将整数
(allspan[i].offsetTop)
添加到字符串(
document.getElementById(“size”).value
)中,该字符串将成为字符串

如果将第二个值设为整数,则可以:

allspan[i].offsetTop + parseInt(document.getElementById("size").value)

这是一个常见的问题。如果要在数学方程中使用变量,则必须使用
parseInt(variableName)
确保它是一个数字,然后尝试:

alert(parseInt(allspan[i].offsetTop) + parseInt(document.getElementById("size").value));

这是因为
document.getElementById(“size”).value
返回的是字符串,而不是整数。试试这个:

parseInt(document.getElementById("size").value);

@Oded同意,尽管它默认为不同的半径(半径?),这取决于字符串的开头。@Oded不是真的,除了
0
0x
@Christoph外,任何前导数字的默认值都是
10
-是的,我没有完全正确。但这并不能改变一个事实,即您应该始终使用基数。@Christoph“如果它是一个包含字母的字符串,那么结果将是NaN。”越防弹越好:)@jbabey如果发生这种情况,很可能发生了错误(用户输入错误),我更愿意拦截它(测试NaN)而不是默默地得到一个错误的结果