Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于查找发货总额的JavaScript编码_Javascript - Fatal编程技术网

用于查找发货总额的JavaScript编码

用于查找发货总额的JavaScript编码,javascript,Javascript,我对这段代码很难理解。我已经做了好几天了,似乎还没弄明白。请帮忙 以下是我对代码的具体需求: 许多公司通常对采购收取运费和手续费。创建一个网页,允许用户在文本框中输入购买价格,并包含一个JavaScript函数,用于计算装运和搬运。向脚本中添加功能,对于任何小于或等于25.00美元的购买,该功能将添加最低运费和手续费1.50美元。对于任何超过25.00美元的订单,在总采购价格的基础上增加10%的运费和手续费,但不包括1.50美元的最低运费和手续费。计算百分比的公式是价格*百分比/100。例如,计

我对这段代码很难理解。我已经做了好几天了,似乎还没弄明白。请帮忙

以下是我对代码的具体需求: 许多公司通常对采购收取运费和手续费。创建一个网页,允许用户在文本框中输入购买价格,并包含一个JavaScript函数,用于计算装运和搬运。向脚本中添加功能,对于任何小于或等于25.00美元的购买,该功能将添加最低运费和手续费1.50美元。对于任何超过25.00美元的订单,在总采购价格的基础上增加10%的运费和手续费,但不包括1.50美元的最低运费和手续费。计算百分比的公式是价格*百分比/100。例如,计算50.00美元购买价格10%的公式是50*10/100,这导致运费和手续费为5.00美元。确定订单的总成本(采购加上运输和处理)后,将其显示在警报对话框中

以下是我的代码:

<!DOCTYPE>

<head>
<title>Calculate Shipping</title>

<script type="text/javascript">

function parseInt() {
var salesPrice = document.salesForm.Price.value;
var minCharge = salesPrice + 1.50;
var shipping = salesPrice * 10/100;
if (salesPrice <= 25)
window.alert('Your sales total including shipping is $' + minCharge);
 else 
window.alert('Your sales total including shipping is $' + salesPrice + shipping);
}
</script>
</head>
<body>
<form name="salesForm">
<div >
<p>Enter Your Purchase Price</p>
<input type="text" name="Price" /><br /><br />
<input type="button" name="Calculate" value="Calculate Shipping"
onclick="parseInt ()" />
</div>
</form>
</body>
</html>

计算运费
函数parseInt(){
var salesPrice=document.salesForm.Price.value;
var minCharge=销售价格+1.50;
var shipping=销售价格*10/100;

如果(salesPrice输入值总是作为字符串而不是数字返回;要解决此问题:

var salesPrice = parseFloat(document.salesForm.Price.value),
    minCharge = salesPrice + 1.50,
    shipping = salesPrice * 10/100;
问题在于
+
要么将数字相加,要么将字符串串联:

var num1 = 1,
    num2 = 3,
    num3 = '2';
console.log(num1 + num2); // 4
console.log(num2 + num3); // '32'
参考资料:


它显示了错误的值,因为它连接字符串而不是求和值

你可以在提醒他们之前总结一下,比如

var salesAndShipping = salesPrice + shipping
window.alert('Your sales total including shipping is $' + salesPrice + shipping);
或者您可以简单地将表达式括起来,如:

window.alert('Your sales total including shipping is $' + (salesPrice + shipping) );
哦,顺便说一句,我认为您通过调用自己的
ParseInt

来覆盖本机函数

函数showAlert(){
var salesPrice=parseFloat(document.getElementById('Price').value);
var minCharge=销售价格+1.50;
var shipping=销售价格*10/100;

如果(salesPrice)您已将所有值分别进行了alert()运算,并且它们看起来都正常?请在加法周围加上一些括号,以便将其与字符串串联分开。此外,也可以在您的销售计算中指定浮点值(例如,10.0/100.0而不是10/100…尽管JS在这里可能可以原谅)你不能在通知中添加
saleprice
shipping
。它认为这是一个字符串。你为什么调用你的函数“parseInt”?当我输入74(随机示例)时,我的通知框将通知我“你的销售总额(包括运费)为747.4美元”。我想我的脑子被这段代码炸了。我只是不理解它。之前有人告诉我尝试parseInt,但我不确定在哪里/如何正确使用它。我非常接近,但无论我尝试更改什么,我似乎都无法解决此问题。。。
function showAlert() {
var salesPrice = parseFloat(document.getElementById('Price').value);    
var minCharge = salesPrice + 1.50;
var shipping = salesPrice * 10/100;
if (salesPrice <= 25)
window.alert('Your sales total including shipping is $' + minCharge);
    else {
window.alert('Your sales total including shipping is $' + parseFloat(salesPrice + shipping));
    }
}