在 JavaScript 中进行简单的运输和处理计算

2023-12-11

我在进行简单的 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(使用前将#替换为@)

在 JavaScript 中进行简单的运输和处理计算 的相关文章

随机推荐

  • 如何使用 C++11 std::thread 设置堆栈大小

    我一直在努力熟悉std 线程C 11 中的库 并且遇到了绊脚石 最初 我来自 posix 线程背景 并且想知道如何在构造之前设置 std thread 的堆栈大小 因为我似乎找不到执行此类任务的任何参考 使用 pthreads 设置堆栈大小
  • 将 SQL Server 2008 地理类型与 nHibernate 的 CreateSQLQuery 结合使用

    我正在尝试使用 nHibernate 2 0 1GA 发出 SQL 更新语句 如下所示 sqlstring string Format set nocount on update myusers set geo geography Poin
  • 更改日期变量的时区

    我有一个字符串 我已将其转换为日期变量 但事实证明时区是错误的 我尝试使用的字符串是 var v 2013 09 05 17 53 05 00 var parsedvalueInField new Date v 如果我发出 parsedva
  • 如何防止元组的并集变成并集的元组?

    尝试编写一个在发生意外 失败 时优雅返回的函数 正在考虑使用 go 风格的函数 return 来 gonig 并将 return 键入为 Val null null Error 但是 当尝试使用 if 语句对返回值进行类型保护时 const
  • 无法通过 apache Camel http 将文件发送到 Rest Web 服务

    我是 Camel 新手 在通过 Camel http 将文件发送到 Web 服务时遇到问题 我有一个 REST Web 服务 它使用多部分表单数据类型内容并接受输入作为表单数据的一部分 当我通过camel发送文件和表单参数时 它在camel
  • 以编程方式创建组:无法通过迁移访问权限

    看到后这个帖子 我尝试通过此迁移在项目设置中创建自己的组 from django db import migrations from django contrib auth models import Group Permission de
  • Discord C# 用户加入消息

    我正在使用 C 中的 Discord Net 来制作一个机器人 到目前为止 我的机器人运行得非常好 但我希望它在用户加入特定服务器时自动为他们分配特定角色 我从未真正学过任何 C 只学过一点 C 所以我知道基本语法 我该怎么办呢 我假设我会
  • 如何针对 R 中的大型矩阵有效计算所有可能组合的归一化比率?

    我想为 R 中的大矩阵有效计算所有可能组合的归一化比率 我之前问过类似的问题here并且在数据较少的情况下 那里提供的解决方案效果很好 但是 当我尝试对大型数据集 400 x 2151 应用相同的解决方案时 我的系统挂起 我的系统配备 16
  • JavaScript - 使用 childNode 遍历 HTML DOM 在非 IE 浏览器中会导致错误

    我的浏览器中呈现了下表 它是从服务器端生成的 table class tblQuestionsContainer border 0 tr td class tdQuestion Are u an indian citizen td tr t
  • Gson 库和 Proguard

    我遇到了 proguard 和 Gson 库的问题 我的代码是 AdServerResult result AdServerResult new Gson fromJson json AdServerResult class 我创建了一个新
  • 为 MIPS 编译 Linux 内核 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我有一台 32 位 MIPS 机器 想在上面运行 Linux 我需要使用我的 Windows 7 机器将 Linux 交叉编译为 MIPS 我对如何解决这个问题感到困惑 有人可以
  • 使用内部联接的简单 hql 命名查询

    我想在我的域 实体对象中做这样的事情 Entity NamedQueries NamedQuery name favouriteCats query from Cat c inner join on UserCat uc where uc
  • 编码麻烦 - 一种格式到另一种格式

    我有一个抓取工具正在从其他地方收集一些我无法控制的数据 源数据包含各种有趣的 Unicode 字符 但它将它们转换为一种非常无用的格式 因此 u00e4 对于带有元音变音的小 a 没有我认为应该存在的双引号 当然 这会在我的 HTML 中以
  • 比较方法违反了它的一般契约!仅限 Java 7

    我知道这个问题已经有一段时间了 并检查了我之前能得到的所有答案 但这个仍然不起作用 对象 crew 代表具有等级和其他项目的船员 应通过比较 int 值 signed rank 来进行比较 如果两个实例中该值相等 则布尔值 is train
  • Javascript - 在网站上创建文本文件

    所以我有一个网页 我想以编程方式在我的网站上的新目录中创建一个文本文件 假设它包含 你好 我是一个文本文件 该程序将位于网站的另一个目录中 e g https www example com txtbuild html正在尝试以编程方式制作
  • Angular 2 中带有 Observable 的 http 无法使用数据

    我是 Angular 2 和 Observables 的新手 但我想尝试一下 所以我安装了 angular cli 并做了一个简单的测试项目 我想要它做的就是读取一个 json 文件并处理组件内部的数据 第一个目的是提供服务 但我想从低基础
  • 如何在 Sitecore DMS 中触发配置文件?

    我正在寻找一种方法 允许访问者选择他们想要在网站上显示的内容 有没有办法以编程方式触发 Sitecore DMS 中的配置文件 我查看了SDN上的相关文档 http sdn sitecore net Reference Sitecore 6
  • graphql 中的空手道替换

    我不确定为什么替换不起作用 我有一个 graphql 查询 mutation updateLocation updateLocation input address
  • 为什么 Integer("09") 在 ruby​​ 中抛出异常,而 Integer("07") 工作得很好?

    我使用的是红宝石1 9 3 为什么 Integer 09 在 ruby 中抛出 Integer 异常的无效值 而 Integer 07 工作得很好 提前致谢 因为前导零是八进制 基数 8 表示法的常见约定 没有9八进制数字 因此使用 1 是
  • 在 JavaScript 中进行简单的运输和处理计算

    我在进行简单的 JavaScript 计算时遇到了麻烦 我的文档应该在订单金额为 25 美元或以下时添加 1 50 美元 如果订单金额超过 25 美元 则添加订单的 10 确切的问题是 许多公司通常会对购买的商品收取运费和手续费 创建一个网