javascript - Adding var's together
问题描述
I was making a calculator because I was bored and I ran into a problem, when I try to do "x + y" (while x = 4 and y = 2) I get 42 instead of 6, can someone please explain this? (I'm using Edge)
here's the JS:
function myFunction1() {
var x = document.getElementById("myText1").value;
var y = document.getElementById("myText2").value;
var z = document.getElementById("myText3").value;
var a = x + y;
if (z == "+") {
document.getElementById("demo3").innerHTML = a;
}
if (z == "-") {
document.getElementById("demo3").innerHTML = x - y;
}
if (z == "*") {
document.getElementById("demo3").innerHTML = x * y;
}
if (z == "/") {
document.getElementById("demo3").innerHTML = x / y;
}
}
The HTML:
<p>Your Problem:<br/><br/>
<input name="myText" id="myText1" type="text" size="7"> <input name="myText" id="myText3" type="text" maxlength="1" size="1"> <input name="myText" id="myText2" type="text" size="7"> = <span id="demo3"></span>
</p>
<p>
<button onclick="myFunction1()">Calculate</button>
</p>
And the page/result:
解决方案
That is because you are trying to add strings together. You need to use parseInt
to get the number part of the string. More info on parseInt
here.
function myFunction1() {
var x = parseInt(document.getElementById("myText1").value);
var y = parseInt(document.getElementById("myText2").value);
var z = document.getElementById("myText3").value;
var a = x + y;
if (z == "+") {
document.getElementById("demo3").innerHTML = a;
}
if (z == "-") {
document.getElementById("demo3").innerHTML = x - y;
}
if (z == "*") {
document.getElementById("demo3").innerHTML = x * y;
}
if (z == "/") {
document.getElementById("demo3").innerHTML = x / y;
}
}
推荐阅读
- python - 如何在 Django 项目启动期间编写数据库 Django 数据库模型实例?
- makefile - 使用 'dir &@ ' 作为 order-only-prerequisites 的目的是什么?
- python - 字典:当键是元组时附加到列表的值
- javascript - 渲染 fullcalendar v4 的问题
- python - ImportError:android kivy 启动器上没有名为请求的模块
- javascript - SAFARI:意外的令牌“=”。在方法的参数列表之前需要一个开头的 '('
- node.js - nodejs passport-azure-ad 重定向到 failureRedirect
- git - 忽略从远程克隆的某些文件永远在本地更改?
- rx-swift - RxSwift 表单验证和在一个流中发送请求
- c - 链表:用于创建(?)节点的结构?