javascript - 简单的javascript提示计算器

标签 javascript calculator prompt

我正在尝试制作一个简单的计算器,它可以在js上计算两个数字。它有 4 个操作 - “+”、“-”、“*”和“/”。但问题是,在当前的实现中,它只能使用一个符号数进行操作)))解决这个问题的最佳方法是什么?

var express = prompt("Enter your operation, for example 2+2",""); 
if(!express) alert("Ok, it's over!");


express = express.replace(/\s/g, '');
var number1 = +express.charAt(0);
var sign = express.charAt(1);
var number2 = +express.charAt(2);

switch(sign){
case "+" : alert(number1 + number2);  break;
case "-" : alert(number1 - number2);  break;
case "*" : alert(number1 * number2);  break;
case "/" : alert(number1 / number2);  break;
 default : alert("Not a correct operation");
}

最佳答案

这适用于整数。我认为你也可以让它适用于 float :

var expression = "-30--20";

match = expression.match(/^(-?\d+)([-+*/])(-?\d+)$/);

if (match === null) {
    alert("invalid expression");
    return;
}

var number1 = match[1];
var operand = match[2];
var number2 = match[3];

switch(operand){
    case "+" : alert(number1 + number2);  break;
    case "-" : alert(number1 - number2);  break;
    case "*" : alert(number1 * number2);  break;
    case "/" : alert(number1 / number2);  break;
    default : alert("Not a correct operation");
}

给出-10

关于javascript - 简单的javascript提示计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44306436/

相关文章:

javascript - 在 Bootstrap 中折叠标签

javascript - TypedArray 和 ArrayBuffers(node/chrome)上的 Object.freeze() 未按预期工作

java - 如果未输入任何内容,则应用崩溃

javascript - 如何防止谷歌浏览器抑制对话框?

javascript - 三个数组项的独特合并

javascript - chrome.tabs.captureVisibleTab 错误

Java计算器将数字添加到文本字段

c++ - 没有优先级且左结合的字符串计算器

Python + bash 提示符 : how to print width calculation wrappers?

linux - Bash:重新评估 PS1,无需回车