【发布时间】:2021-10-23 03:16:17
【问题描述】:
我正在为 freeCode 挑战做一个计算器,但我遇到了一个问题:如何将我的输入(字符串、所有等式)转换为结果? 我的代码在输入字段中接收所有方程(例如:1+1 或 46+90),我必须能够解方程。 我想要做的是将第一个和第二个数字放在两个变量中并将它们转换为 int(可能使用 parseInt 进行转换)并且运算符也将放入其他变量中。 我最初将所有方程放入一个数组中,并使用 for+if 语句获取数字。但是怎么做呢?有更好的解决方案吗? 示例:如果我收到等式 11+12,如何将字符串 1 和 1 取为 11?与 12 相同..
我的完整运行代码:https://codepen.io/httxx/pen/bGRbKeQ
var trigger=0, x=0,y=0, operator=0;
function number(variable){
if(trigger==0){
x=variable;
document.getElementById("display").value = ""+x;
trigger=1;
}else if(trigger==1){
x=variable;
document.getElementById("display").value += ""+x;
}
}
function result(){
var i;
const val = document.querySelector('input').value;
}
function AC(){
trigger=0;
x=0;
y=0;
operator=0;
document.getElementById("display").value = "0";
}
【问题讨论】:
-
您可以使用
String(),查看此链接以获取示例w3schools.com/jsref/jsref_string.asp 您可以使用parseInt()或parseFloat()转换回数字。 -
你输入的类型是什么?,你使用模式吗?
-
输入是 type="text",查看完整代码codepen.io/httxx/pen/bGRbKeQ
-
请注意,要求“更好”的解决方案是题外话,因为“更好”会邀请意见而不是事实。而是询问您想要改进的具体、客观、可衡量的品质。此外,在问题中包含minimal reproducible example,而不仅仅是在 CodePen 上。您可以使用 Stack Snippets(工具栏中的图标类似于
<>)。
标签: javascript html arrays calculator parseint