我需要 javascript 将 5 添加到一个整数变量中,但是它将变量视为字符串,因此它写出变量,然后将 5 添加到“字符串”的末尾。我怎样才能强迫它做数学呢?
var dots = document.getElementById("txt").value; // 5
function increase(){
dots = dots + 5;
}
输出: 55
我怎样才能强制它输出10
?
我需要 javascript 将 5 添加到一个整数变量中,但是它将变量视为字符串,因此它写出变量,然后将 5 添加到“字符串”的末尾。我怎样才能强迫它做数学呢?
var dots = document.getElementById("txt").value; // 5
function increase(){
dots = dots + 5;
}
输出: 55
我怎样才能强制它输出10
?
你有这条线
dots = document.getElementById("txt").value;
在您的文件中,这会将点设置为字符串,因为 txt 的内容不限于数字。
要将其转换为 int 将行更改为:
dots = parseInt(document.getElementById("txt").value, 10);
注意:10
此处指定十进制(基数为 10)。如果没有这个,一些浏览器可能无法正确解释字符串。见MDN: parseInt
。
最简单的:
dots = dots*1+5;
点将被转换为数字。
不要忘记 -parseFloat();
如果您处理小数,请使用。
我添加这个答案是因为我在这里没有看到它。
一种方法是在值前面放一个“+”字符
例子:
var x = +'11.5' + +'3.5'
x === 15
我发现这是最简单的方法
在这种情况下,该行:
dots = document.getElementById("txt").value;
可以改为
dots = +(document.getElementById("txt").value);
将其强制为一个数字
笔记:
+'' === 0
+[] === 0
+[5] === 5
+['5'] === 5
parseInt()
应该做的伎俩
var number = "25";
var sum = parseInt(number, 10) + 10;
var pin = number + 10;
给你
sum == 35
pin == "2510"
http://www.w3schools.com/jsref/jsref_parseint.asp
注意:10
inparseInt(number, 10)
指定十进制(基数为 10)。如果没有这个,一些浏览器可能无法正确解释字符串。见MDN: parseInt
。