calculator 相关问题

关于计算器或计算器编程的问题。对于TI-BASIC计算器编程,请使用ti-basic标签。

Python 计算器的菜单

我用python创建了一个计算器,可以计算两个整数的加、减、乘、除或模。执行什么方程是基于哪个数字是类型 i...

回答 4 投票 0

NASM 计算器 - 不会打印结果

我是学习汇编语言的新手,正在尝试编写一个计算器,用户可以在其中输入2个数字,并使用加法或减法来显示结果。我已经尝试过了...

回答 1 投票 0

将值传递给新方法后如何使用它?

所以,我是一名初级 C# 程序员,我无法让我的程序运行。我希望能够使用 Main() 方法的用户输入,将其传递给 PaintJobCalc() 来计算绘画作业,然后发送

回答 4 投票 0

我正在尝试用 HTML Javascript 制作一个分数计算器,我需要简化分数,我该怎么做?

我的计算器的非脚本部分是这样的(包含所有输入): 分数计算器 我的计算器的非脚本部分是这样的(包含所有输入): <body> <p class="box">Fraction Calculator</p> <input type="number" id="n1"> <select id="operation"> <option value="1">X</option> <option value="2">/</option> <option value="3">+</option> <option value="4">-</option> </select> <input type="number" id="n2"> <br> <input type="number" id="n3"> <input type="number" id="n4" style="margin-left:37px"> <br> <button style="margin-left:130px"; onClick="document.getElementById('fraction').innerHTML = option()">Go!</button> <p id="fraction"></p> </body> 我的选项功能是这样的: function option() { selection = document.getElementById('operation').value; if(selection == "1"){ a = multiply(); return a } else if(selection == "2"){ b = division(); return b } else if(selection == "3"){ c = addition(); return c } else{ d = subtraction(); return d } } 所以我当前计算器乘法部分的代码是这样的: function multiply() { Number1 = parseInt(document.getElementById("n1").value); Number2 = parseInt(document.getElementById("n2").value); Number3 = parseInt(document.getElementById("n3").value); Number4 = parseInt(document.getElementById("n4").value); var topm = Number1 * Number2; var botm = Number3 * Number4; return topm + "/" + botm; } 所以目前我的计算器可以工作,但没有一个分数被简化。我怎样才能简化这些分数? (我对代码还算陌生)谢谢:) 这是 JSFiddle 链接:https://jsfiddle.net/Ethang70/npgL3gd9/ 为了简化分数,您要做的就是计算分母和分子之间的最大公约数,然后将两者除以 GCD。 计算 GCD 的一种方法是使用 欧几里得算法。 Javascript 中的一种实现可能是: function gcd(a,b) { if (b == 0) { return a; } else { return gcd(b, a % b); } } 此后,当您打印分数时,您可以执行以下操作: function multiply() { Number1 = parseInt(document.getElementById("n1").value); Number2 = parseInt(document.getElementById("n2").value); Number3 = parseInt(document.getElementById("n3").value); Number4 = parseInt(document.getElementById("n4").value); var topm = Number1 * Number2; var botm = Number3 * Number4; var divisor = gcd(topm, botm); topm = topm / divisor; botm = botm / divisor; return topm + "/" + botm; } 祝你好运! 如果您愿意使用小型第三方脚本,您可以查看fraction.js。根据@Zyberzero的答案,它计算非整数的最大公约数并将其返回为它可以作为字符串生成的最低分数: var myNum = 0.5; var fraction = new Fraction(myNum); console.log(fraction.toString()); // Returns 1/2 如果结果是整数,则返回相同的整数。如果结果包含整数,则会以int d/n格式返回;所以如果你只想要分数,你可以在空间周围分开。 但这取决于你想降到多低;有一些小数值名义上代表分数,但不能除以您可能想要的“最低”分数。例如,0.3333333333...表面上代表三分之一,但fractions.js会(正确地)返回33/100。在我最近的用例中,我想要特别低的分数,如 1/3、1/9、2/3 等(基于小数值,如 0.33、0.11、0.66),所以我写了一个快速的& 肮脏的 if/else 给我我想要的较低分数: var fractionString = fraction.toString(); var singleQuantity = ''; if (fractionString.indexOf(' ') > 0) { var quantitySplit = fractionString.split(' '); var fractionSplit = quantitySplit[1].split('/'); singleQuantity = quantitySplit[0] + ' '; topFraction = parseInt(fractionSplit[0]); bottomFraction = parseInt(fractionSplit[1]); } if (bottomFraction == 100) { switch (topFraction) { case 11 : { topFraction = 1; bottomFraction = 9; break; } case 33 : { topFraction = 1; bottomFraction = 3; break; } } } if (bottomFraction == 50) { switch (topFraction) { case 33 : { topFraction = 2; bottomFraction = 3; break; } } } 这非常准确: <script> // Simple Fraction Calculator function calculateSimpleFraction() { const numerator1 = parseInt(document.getElementById('numerator1-simple').value) || 0; const denominator1 = parseInt(document.getElementById('denominator1-simple').value); const numerator2 = parseInt(document.getElementById('numerator2-simple').value) || 0; const denominator2 = parseInt(document.getElementById('denominator2-simple').value); const operation = document.getElementById('operation-simple').value; if (isNaN(denominator1) || isNaN(denominator2) || denominator1 === 0 || denominator2 === 0) { document.getElementById('result-simple').innerText = "Please enter valid fractions."; return; } const fraction1 = { numerator: numerator1, denominator: denominator1 }; const fraction2 = { numerator: numerator2, denominator: denominator2 }; let resultFraction; switch (operation) { case '+': resultFraction = addFractions(fraction1, fraction2); break; case '-': resultFraction = subtractFractions(fraction1, fraction2); break; case '*': resultFraction = multiplyFractions(fraction1, fraction2); break; case '/': resultFraction = divideFractions(fraction1, fraction2); break; } document.getElementById('result-simple').innerText = `${resultFraction.numerator}/${resultFraction.denominator}`; } // Mixed Fraction Calculator function calculateMixedFraction() { const whole1 = parseInt(document.getElementById('whole1-mixed').value) || 0; const numerator1 = parseInt(document.getElementById('numerator1-mixed').value) || 0; const denominator1 = parseInt(document.getElementById('denominator1-mixed').value); const whole2 = parseInt(document.getElementById('whole2-mixed').value) || 0; const numerator2 = parseInt(document.getElementById('numerator2-mixed').value) || 0; const denominator2 = parseInt(document.getElementById('denominator2-mixed').value); const operation = document.getElementById('operation-mixed').value; if (isNaN(denominator1) || isNaN(denominator2) || denominator1 === 0 || denominator2 === 0) { document.getElementById('result-mixed').innerText = "Please enter valid fractions."; return; } // Convert mixed fractions to improper fractions const fraction1 = { numerator: whole1 * denominator1 + numerator1, denominator: denominator1 }; const fraction2 = { numerator: whole2 * denominator2 + numerator2, denominator: denominator2 }; let resultFraction; switch (operation) { case '+': resultFraction = addFractions(fraction1, fraction2); break; case '-': resultFraction = subtractFractions(fraction1, fraction2); break; case '*': resultFraction = multiplyFractions(fraction1, fraction2); break; case '/': resultFraction = divideFractions(fraction1, fraction2); break; } // Convert the result back to a mixed fraction const wholePart = Math.floor(resultFraction.numerator / resultFraction.denominator); const remainingNumerator = resultFraction.numerator % resultFraction.denominator; document.getElementById('result-mixed').innerText = remainingNumerator > 0 ? `${wholePart} ${remainingNumerator}/${resultFraction.denominator}` : `${wholePart}`; } // Shared Fraction Functions function gcd(a, b) { return b ? gcd(b, a % b) : Math.abs(a); } function simplifyFraction(fraction) { const commonDivisor = gcd(fraction.numerator, fraction.denominator); return { numerator: fraction.numerator / commonDivisor, denominator: fraction.denominator / commonDivisor }; } function addFractions(f1, f2) { const numerator = f1.numerator * f2.denominator + f2.numerator * f1.denominator; const denominator = f1.denominator * f2.denominator; return simplifyFraction({ numerator, denominator }); } function subtractFractions(f1, f2) { const numerator = f1.numerator * f2.denominator - f2.numerator * f1.denominator; const denominator = f1.denominator * f2.denominator; return simplifyFraction({ numerator, denominator }); } function multiplyFractions(f1, f2) { const numerator = f1.numerator * f2.numerator; const denominator = f1.denominator * f2.denominator; return simplifyFraction({ numerator, denominator }); } function divideFractions(f1, f2) { const numerator = f1.numerator * f2.denominator; const denominator = f1.denominator * f2.numerator; return simplifyFraction({ numerator, denominator }); } </script> <style> .calculator-container { background-color: #333842!important; padding: 20px; border-radius: 10px; box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); width: 100%; text-align: center; margin-bottom: 20px; } h2 { margin-bottom: 20px; } .fraction-row, .mixed-fraction-row { display: flex; justify-content: center; align-items: center; margin-bottom: 20px; } .fraction-input, .mixed-fraction-input { width: 80px; padding: 10px; font-size: 18px; border: none; border-radius: 5px; text-align: center; background-color: #4f5461; color: white; margin-bottom: 5px; } .whole-number-input { width: 80px; padding: 10px; font-size: 18px; border: none; border-radius: 5px; text-align: center; background-color: #4f5461; color: white; margin-right: 10px; } .fraction-group, .mixed-fraction-group { display: flex; flex-direction: column; align-items: center; margin: 0 15px; } .fraction-line, .mixed-fraction-line { width: 75px; height: 2px; background-color: white; margin-bottom: 5px; } .operation-select { padding: 10px; font-size: 18px; border: none; border-radius: 5px; background-color: #00e676; color: black; margin: 0 15px; } .calculate-btn { padding: 10px 20px; font-size: 18px; border: none; border-radius: 5px; background-color: #00e676; color: black; cursor: pointer; margin-top: 20px; } .calculate-btn:hover { background-color: #00c853; } .result { margin-top: 20px; font-size: 24px; color: #00e676; } #simple-fractions-calculator { color: #FFFFFF!important; } #mixed-fractions-calculator { color: #FFFFFF!important; } </style> <div class="calculator-container"> <h2><span id="simple-fractions-calculator">Simple Fractions Calculator</span></h2> <div class="fraction-row"> <div class="fraction-group"> <input type="number" id="numerator1-simple" class="fraction-input" placeholder="a"> <div class="fraction-line"></div> <input type="number" id="denominator1-simple" class="fraction-input" placeholder="b"> </div> <select id="operation-simple" class="operation-select"> <option value="+">+</option> <option value="-">−</option> <option value="*">×</option> <option value="/">÷</option> </select> <div class="fraction-group"> <input type="number" id="numerator2-simple" class="fraction-input" placeholder="c"> <div class="fraction-line"></div> <input type="number" id="denominator2-simple" class="fraction-input" placeholder="d"> </div> </div> <button class="calculate-btn" onclick="calculateSimpleFraction()">Calculate</button> <div class="result" id="result-simple"></div> </div> 来源

回答 0 投票 0

为什么无限循环在 hcf 部分的这个计算器项目上不起作用?

每当我在这个计算器代码中使用 hcf 时,无限循环将不起作用,但在其他操作中,例如 +-*/% 无限循环可以正常工作。我该如何解决它?我应该写哪个来允许无限循环工作...

回答 1 投票 0

如何编写此代码以使其考虑下拉列表中的选定选项?

图像文件 - 价格计算器 你好。我是编码新手,开始为我的空调价格计算器编写代码。代码目前如下所示: var input1 = document.getEleme...

回答 1 投票 0

使用 switch-case-break-default 结构在 Java 中编写被零除异常

我正在使用 switch-case-break-default 结构在 Eclipse 中编写一个简单的计算器。不同的运算符被列为整数(加法 1、减法 2 等)供用户使用...

回答 1 投票 0


如何向 Flet 教程计算器项目添加第三个参数?

将 flet 导入为 ft 类 CalcButton(ft.ElevatedButton): def __init__(自身、文本、button_clicked、展开=1): 超级().__init__() self.text = 文本 self.expand = 扩展 ...

回答 1 投票 0

它不会给出正确的输出(Python新手)

它给出了一个意外的错误,“矢量 A 的大小” 对 python 真的很陌生,所以请原谅我触发了专业人士 将 numpy 导入为 n...

回答 1 投票 0

在 TI-84 计算器上编码

ti 84 plus ce 命令行复制/粘贴和/或存储行以供以后使用。我正在尝试为二次方程创建一个程序,并询问是否有更快的方法来复制一行并粘贴它......

回答 3 投票 0

为什么我的 JavaScript 计算器不等于?

我正在用 JS 制作一个计算器,但它总是给我 NaN。我不明白为什么。每当我单击 equal 时,它都会给我 NaN。我可以看到我点击的数字在日志中,但是,当我

回答 1 投票 0

如何在 WordPress 中创建接送距离计算里程定价

我正在尝试在 WordPress 中获取距离计算里程定价,但尚未成功。任何帮助将不胜感激。 这是我的代码。但我不知道我的代码有什么问题。 HTM...

回答 1 投票 0

Java GUI 计算器:创建一个小程序,对数字进行简单的加法和减法

我想在夏天扩展我的Java知识,所以我正在开发配备GUI的计算器应用程序,这是一个小程序,我希望它对给定的数字进行简单的加法和减法...

回答 3 投票 0

查找 TI nspire 电子表格中值之间的总数

我正在使用 TI-nspire 电子表格 我想找到大于 5 且小于 10 的值的数量 数字存储在名为“数据”的列中,也存储在单元格 A1 到 A5 中 ...

回答 1 投票 0

Javascript eval()Javascript 使用百分比符号 (%) 作为百分比,但不作为提醒

如何使 Javascript 中的 eval() 使用百分比符号 (%) 作为百分比而不是作为提醒 我希望能够让 eval() 以 1/100 的百分比工作,而不是作为提醒

回答 2 投票 0

有没有办法确保在使用 GetCalc() 在两个 USB 连接的 TI-Basic 计算器之间进行通信之前建立链接?

我正在尝试在 TI-84 Plus CE 上用 TI-Basic 编写一个程序,其中两个 USB 连接的计算器通过使用 GetCalc() 命令检索变量值来相互通信,我...

回答 1 投票 0

USPS API 更改

我的 USPS 运费计算器有问题。 它运行得很好,直到几天前,国际运费突然停止运行。另外,美国国内服务包含...

回答 1 投票 0

使用 javascript 的年龄计算器

我试图用javascript创建一个年龄计算器。有一个条件,如果生日输入字段为空,那么它会给出错误信息。但现在即使字段是空的,点击...

回答 2 投票 0

AWS 路线计算器 API/此处地图

我正在使用 AWS Location Services 路线计算器来确定多个出发地目的地对的行程时间和行程距离。该代码有效,但未反映由于

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.