gpt4 book ai didi

javascript - js中的数学运算?

转载 作者:行者123 更新时间:2023-11-29 20:48:14 27 4
gpt4 key购买 nike

我正在尝试用 JS 创建一个简单的零钱计算器应用程序。我可以用我的美元和 25 美分找零,但在使用 dimes 时遇到了麻烦。到目前为止,这是我的代码。每次我尝试让硬币发挥作用时,我都无法打印出正确的数量。

var dollars, quarters, dimes, nickels;

function calculateChange() {
var amountDue = document.getElementById('amount-due').value;
var amountReceived = document.getElementById('amount-received').value;
var change = amountReceived - amountDue;
//document.getElementById('change-output').innerHTML = change.toFixed(2);

dollars = Math.floor((change / 100) * 100);
document.getElementById("dollars-output").innerHTML = dollars;
var remainder = change - dollars;
console.log(dollars)

quarters = Math.floor((change % 1) * 4);
document.getElementById('quarters-output').innerHTML = quarters;
console.log(quarters)

dimes = Math.floor((change % 15) * 0.10);
document.getElementById('dimes-output').innerHTML = dimes;
console.log(dimes)
return;

// = Math.floor((change % 0.1) * 20);
//document.getElementById('nickels-output').innerHTML = nickels;

// pennies = Math.floor(Math.round(change % 0.05 * 100));
//document.getElementById('pennies-output').innerHTML = pennies;

};

document.getElementById("calculate-change").addEventListener("click", calculateChange);
Amount due: <input id="amount-due"><br>
Amount-received: <input id="amount-received"><br>
<input type="button" value="Calculate change" id="calculate-change"><br>
Dollars: <span id="dollars-output"></span><br>
Quarters: <span id="quarters-output"></span><br>
Dimes: <span id="dimes-output"></span>

有人可以帮我看看有什么不同吗?

最佳答案

(change/100) * 100change 相同(除非存在浮点舍入误差),所以 Math.floor((change/100 ) * 100)Math.floor(change) 相同。你应该只计算部门的下限,例如

dollars = Math.floor(change/100);

然后将其乘以 100 并从 change 中减去它以获得您需要用较小面额处理的余数。对于每种面额,您除以该硬币的值(value),得到它的底部,然后减去得到下一个余数。

var dollars, quarters, dimes, nickels;

function calculateChange() {
var amountDue = document.getElementById('amount-due').value;
var amountReceived = document.getElementById('amount-received').value;
var change = amountReceived - amountDue;
//document.getElementById('change-output').innerHTML = change.toFixed(2);

var dollars = Math.floor(change / 100);
document.getElementById("dollars-output").innerHTML = dollars;
var remainder = change - dollars * 100;

var quarters = Math.floor(remainder / 25);
document.getElementById('quarters-output').innerHTML = quarters;
remainder = remainder - quarters * 25;

var dimes = Math.floor(remainder / 10);
document.getElementById('dimes-output').innerHTML = dimes;
remainder = remainder - dimes * 10;

var nickels = Math.floor(remainder/5);
document.getElementById('nickels-output').innerHTML = nickels;
remainder = remainder - nickels * 5;

var pennies = remainder;
document.getElementById('pennies-output').innerHTML = pennies;

};

document.getElementById("calculate-change").addEventListener("click", calculateChange);
Amount due: <input id="amount-due"><br>
Amount-received: <input id="amount-received"><br>
<input type="button" value="Calculate change" id="calculate-change"><br>
Dollars: <span id="dollars-output"></span><br>
Quarters: <span id="quarters-output"></span><br>
Dimes: <span id="dimes-output"></span><br>
Nickels: <span id="nickels-output"></span><br>
Pennies: <span id="pennies-output"></span><br>

关于javascript - js中的数学运算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53345696/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com