我在进行简单的 JavaScript 计算时遇到了麻烦。我的文档应该在订单金额为 25 美元或以下时添加 1.50 美元,如果订单金额超过 25 美元,则添加订单的 10%。确切的问题是:
许多公司通常会对购买的商品收取运费和手续费。创建一个网页,允许用户在文本框中输入购买价格,并包含计算运费和手续费的 JavaScript 函数。向脚本添加功能,为任何小于或等于 25.00 美元的购买添加 1.50 美元的最低运费和手续费。对于超过 25.00 美元的任何订单,请在总购买价格的基础上添加 10% 的运费和手续费,但不包括 1.50 美元的最低运费和手续费。计算百分比的公式为价格 * 百分比 / 100。例如,计算 50.00 美元购买价格的 10% 的公式为 50 * 10 / 100,这将导致运费和手续费为 5.00 美元。确定订单的总成本(购买加上运输和处理)后,将其显示在警报对话框中。
这是我的代码:
var price = window.prompt("What is the purchase price?", 0);
var shipping = calculateShipping(price);
var total = price + shipping;
function calculateShipping(price){
if (price <= 25){
return 1.5;
}
else{
return price * 10 / 100
}
}
window.alert("Your total is $" + total + ".");
测试时,我在提示框中输入一个数字,而不是像输入数字一样进行计算,而是像输入字符串一样进行计算。即我输入 19,它给我 191.5,或者我输入 26,它给我 262.6
Using parseFloat
会帮助你:
var price = parseFloat(window.prompt("What is the purchase price?", 0))
var shipping = parseFloat(calculateShipping(price));
var total = price +shipping;
function calculateShipping(price){
if (price <= 25){
return 1.5;
}
else{
return price * 10 / 100
}
}
window.alert("Your total is $" + total + ".");
查看它的工作原理:http://jsfiddle.net/e8U6W/
另外,一种鲜为人知的更高效的方法就是简单地-0
:
var price =window.prompt("What is the purchase price?", 0) - 0;
(See: 减零是某种 JavaScript 性能技巧吗?)
请务必对此进行评论,尽管对于那些阅读代码的人来说,它并不那么明显parseFloat
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)