Javascript 计算器,计算 4 个数值,并将税金乘以总和

标签 javascript

简而言之,我必须创建一个计算,输入 4 个数值,然后乘以每单位价格的总和,并将税费计算到总额中。我一直在寻找脚本但失败了。

编辑***:我已经根据我所阅读和理解的内容编辑了部分代码,但仍然无法让我的函数执行命令并执行带有税的值。

 <html>
<head>
<title>Purchase&Tip Calculator</title>
function calculate() {
    var total = cost*total;
    var cost = document.getElementById("cost").value;
    var tax = document.getElementById("tax").value;

    total = cost*tax;
    document.getElementById("total").value = total;
}
</script>

</head>

<body>

<h1 align="left">Purchase&Tip Calculator</h1>

<input type="text" id="cost" />

<input type="text" id="cost" />

<input type="text" id="cost" />

<input type="text" id="tax" />

<input type="text" id="total" />

<button id="cost" onclick="calculate()" value="Calculate!" />Calculate!</button>
    </form>
</body>
</html>

最佳答案

在您的代码中:

> function fixOrder() {
>     const TAX = 0.975;

constfuture reserved word并且不是 ECMAScript 的一部分。已经added to JavaScript ,并且可能会出现在 ECMAScript 的 future 版本中,但不应在一般 Web 上使用,因为它会在不支持它的浏览器中引发错误。

>    var numPrice;
>    var total;
>    var tax;
> 
>    numPrice = parseFloat(document.getElementById("cost").value, 10);

parseFloat接受单个字符串参数。 parseInt 没有基数。将字符串转换为数字的方法有很多种,一种是一元+运算符,另一种是作为函数调用的NumberparseFloat 可能没问题,只是需要输入更多内容。

由于您的控件位于表单中,因此您可以将它们作为表单的命名属性更轻松地访问:

  var form = document.getElementById('form');
  numPrice = +form.cost.value;

>    tax      = parseFloat(document.getElementById("tax").value, 10);

已经有一个名为 TAX 的变量,该值未在任何地方使用。

>    total    = parseFloat(document.getElementById("total").value, 10);
>    numPrice = numPrice * TAX;
>    total    = numPrice;

此处,total 的值被分配了两次,第二次替换第一次。

>    total    = document.getElementById("total").value = "$" + total.toFixed(2);

这种类型的分配不利于维护,最好保持简单。另外,total 似乎会有一个前导“$”,这将导致 parseFloat 返回 NaN。最好将“$”放入表单文本中,然后将值放入字段中。

您可以使用复合运算符进行算术运算,它们可能会造成混淆,但如果使用多次就会更容易发现。也许您的意思是:

  total = parseFloat(form.total.value);
  numPrice *= TAX;
  total += numPrice;
  form.total.value = total.toFixed(2);

在 HTML 部分:

>  <p>Total: <input type="text" id="total" name="total" value="" disabled=
   "disabled" /></p>

您不希望禁用总计字段,因为这会使其呈现禁用的外观。此外,disabled 属性不需要值(除非您使用 XHTML,并且没有人在网络上实际使用它)。

您可以将该字段设置为只读:

 <p>Total: $<input type="text" name="total" readonly></p>

但是用户会想知道为什么有一个字段他们无法修改。考虑将其设为跨度并更新其文本或innerHTML:

 <p>Total: $<span id="total">0.00</span></p>

  document.getElementById('total').innerHTML = total.toFixed(2);

然后您还可以将内容样式设置为粗体或相似。

关于Javascript 计算器,计算 4 个数值,并将税金乘以总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12850479/

相关文章:

javascript - 如何在 JQuery 中区分具有 id 的多个 anchor 标记上的 onclick 乐趣

javascript - 如何在 jQuery 中使用自定义排序顺序对列表项进行排序

javascript - 如何将不同尺寸的点击坐标转换为320尺寸尺寸?

javascript - javascript中的简单缓动函数

javascript - PatchValue 或 setValue with formGroup 更多 formArray 和 formGroup

javascript - 如何测试包含导入的异步方法的类?

javascript - 组件无法识别它正在导出

javascript - 如何用函数改变变量的值?

php - javascript 中的变量,自动填充表单

c# - 为什么 ajax 在必要时返回值?