当前位置: 首页 > 知识库问答 >
问题:

计算器:我如何得到方程式的结果?[副本]

杜嘉慕
2023-03-14

数字显示在屏幕上。现在我如何创建一个“getResult”函数,当您单击equal按钮从我的operate()函数返回每个等式的结果时,该函数就可以工作了?现在,当您单击等号时,最后一个数字将保留在显示屏上,而不会发生任何事情。

const NUMBERS = document.querySelectorAll('.number-btn');
const equal=document.querySelector('.equalbtn');
const clear=document.querySelector('.clearbtn');
const operator=document.querySelectorAll('.operator')

let a;
let b;
let result;
let operand;


  
let aIsCurrent = true;
let operandIsPressed = false;

function add(a, b) {
    return (a + b).toFixed(2);
  }
  function substract(a, b) {
    return (a - b).toFixed(2);
  }
  function multiply(a, b) {
    return (a * b).toFixed(2);
  }
  function divide(a, b) {
    return (a / b).toFixed(2);
  }
  
  function operate(a, b, operator) {
    switch (operator) {
      case 'sum':
        result= add(a, b);
        break;
      case 'subtract':
        result= substract(a, b);
        break;
      case 'multiply':
        result= multiply(a, b);
        break;
      case 'divide':
        result= divide(a, b);
        break;
      
    }
  };
  
  function insertToDisplay(value) {
    if (operandIsPressed) {
      DISPLAY.textContent = value;
      operandIsPressed = false;
    } else {
      DISPLAY.textContent += value;
    }
  }
  
  function storeOperand(value) {
    operandIsPressed = true;
    if (result !== undefined) {
      a = result;
      result = undefined;
    } else if (aIsCurrent) {
      a = Number(DISPLAY.textContent);
      aIsCurrent = false;
    } else {
      b = Number(DISPLAY.textContent);
      result = operate(a, b, operator);
      a = b = undefined;
      DISPLAY.textContent = resultNumber;
    }
    operand = value;
  }
  
  function getResult(){
     
     };

  function clearDisplay () {
      DISPLAY.textContent='';
      return;
  };
  

//event listeners
NUMBERS.forEach((button) => {
button.addEventListener('click', (e) => insertToDisplay(button.value));
  });
  
clear.addEventListener('click', clearDisplay);

operator.forEach((button) => {
 button.addEventListener('click', (e) => storeOperand(button.value));
});

equal.addEventListener('click', getResult);

共有1个答案

上官彬
2023-03-14

可以使用math.js

<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/9.3.0/math.js"></script>
<script>
  function getResult(){
    insertToDisplay(math.evaluate(DISPLAY.textContent));
  };
</script>
 类似资料:
  • 我创建这段代码是为了创建随机数和运算符,但它如何计算并显示结果呢? 它现在做的是,例如打印出来:4+1-3或9*2-8等。我不知道如何计算出4+1-3或9*2-8的结果,然后打印出来。

  • 该程序允许用户以年数输入贷款金额和贷款期限。 每月和总付款应以1/8的利率递增显示。到目前为止,我已经足够正确地计算出一个数量,但我不知道如何显示所有结果。 我拍摄了以下问题的说明: http://imgur.com/s9JEbtu

  • null field name=“path_exact”type=“string”indexed=“true”stored=“true”termvectors=“true”/> field name=“title”type=“text_general”indexed=“true”stored=“true”multivalued=“true”termvectors=“true”/> 提到的唯一键 使

  • 问题内容: 我应该将“如果查询结果行IS = 1进行验证的代码”替换为什么? 我已经尝试过使用num_rows的多种方法,但无法正常工作。 我的PHP代码: 问题答案: 要么

  • 我有一个有两张表的 ,我正在试着建立一张统计表。但是,有些公式需要phpexcel尚未实现的函数,只要在Excel中打开文件时计算出来,我并不介意。 当我尝试保存时,我得到了一个异常: 无效的单元格坐标A 因为范围 尚未实现。因此,我禁用了保存时的预计算。 不会引发异常,但我的两个单元格(codeb2/code>和 )都是空的。当我在相应的单元格中复制粘贴公式时,Excel能够找到正确的值。

  • 我对下面这段代码有一个问题: 结果输出让我大吃一惊: 我已经在线检查了Javadoc中的构造函数,没有任何帮助。