使用 javascript 创建计算器会产生意外输出
Creating an calculator with javascript gives unexpected output
大家好,
我正在尝试创建一个可以求和的计算器。
我想做的是:
- 搜索加号,并获取加号在数字中的位置
- 得到
product1
和product2
- 将它们相加为
y.value
现在您可以看到这与 3 + 2 = 5
不同。但它给出 3 + 2 = 32
所以我看到我的脚本没有将其视为数字而是字符串。那么我需要做什么才能使其正常工作?
感谢您的帮助!
function start() {
var snelheid = 10;
var x = document.getElementById("input");
var y = document.getElementById("output");
x.value = "3+2"
function process() {
var place_plus = x.value.indexOf("+");
var product1 = x.value.slice(0, place_plus);
var product2 = x.value.slice(place_plus + 1, x.value.length);
y.value = product1 + product2;
document.getElementById("var").innerHTML = product1 + " + " + product2 + " = " + (product1 + product2);
}
var animateInterval = setInterval(process, snelheid);
}
window.addEventListener('load', function(event) {
start();
});
<textarea id="input"></textarea>
<textarea id="output"></textarea>
<p id="var"></p>
您可以使用一元运算符 (+) 将字符串转换为数字:
var product1 = +x.value.slice(0, place_plus);
var product2 = +x.value.slice(place_plus + 1, x.value.length);
大家好,
我正在尝试创建一个可以求和的计算器。
我想做的是:
- 搜索加号,并获取加号在数字中的位置
- 得到
product1
和product2
- 将它们相加为
y.value
现在您可以看到这与 3 + 2 = 5
不同。但它给出 3 + 2 = 32
所以我看到我的脚本没有将其视为数字而是字符串。那么我需要做什么才能使其正常工作?
感谢您的帮助!
function start() {
var snelheid = 10;
var x = document.getElementById("input");
var y = document.getElementById("output");
x.value = "3+2"
function process() {
var place_plus = x.value.indexOf("+");
var product1 = x.value.slice(0, place_plus);
var product2 = x.value.slice(place_plus + 1, x.value.length);
y.value = product1 + product2;
document.getElementById("var").innerHTML = product1 + " + " + product2 + " = " + (product1 + product2);
}
var animateInterval = setInterval(process, snelheid);
}
window.addEventListener('load', function(event) {
start();
});
<textarea id="input"></textarea>
<textarea id="output"></textarea>
<p id="var"></p>
您可以使用一元运算符 (+) 将字符串转换为数字:
var product1 = +x.value.slice(0, place_plus);
var product2 = +x.value.slice(place_plus + 1, x.value.length);