折扣计算不输出。
(折扣应该从总计减去)
HTML
input name="discount" id="discount" type="text"> <button id="record_button" onclick="recordToFilename();" href="javascript:void(0);" title="Record" > Submit Discount </button>
<b id="discount">Discount</b>
Javascript
function recordTodiscount() {
var input = document.getElementById('discount'),
discount = input.value;
document.getElementById('total').innerHTML = "<strong>SubTotal</strong>: $" + salesTotal.toFixed(2);
document.getElementById('taxtotal').innerHTML = "<strong>Tax </strong>: $" + salesTotal*0.13.toFixed(2);
document.getElementById('grandtotal').innerHTML = "<strong>Grand Total </strong>: $" + salesTotal*0.14 + salesTotal. toFixed(2);//grandtotal and tax total come out the same
document.getElementById('discount').innerHTML = "<strong>Discount </strong>: $" + salesTotal*0.14 + salesTotal-discount.toFixed(2); //grandtotal and tax total come out the same
<input name="discount" id="discount" type="number">
答案 0 :(得分:0)
句点运算符的优先级高于数学运算符,因此toFixed
方法将在添加之前应用。由于这使得第二个操作数成为字符串,+
运算符将执行字符串连接而不是添加。
您需要括号才能在toFixed
调用之前进行计算:
(salesTotal * 0.13).toFixed(2)
(salesTotal * 0.14 + salesTotal).toFixed(2)
(salesTotal * 0.14 + salesTotal - discount).toFixed(2)
您在计算税时使用0.13
,计算总税时使用0.14
,它们可能应该相同。
您可以只添加一个与您相乘的常量,而不是添加总和税,而不是salesTotal * 0.14 + salesTotal
与salesTotal * 1.14
相同。