gpt4 book ai didi

javascript - 在正确的位置使用 toFixed

转载 作者:行者123 更新时间:2023-11-28 20:36:31 25 4
gpt4 key购买 nike

我有一个表单,它从输入字段和下拉列表中输出计算结果。

除了总数之外,剧本还不错。当您输入数字并从下拉列表中选择一个值时,html 中的总计将四舍五入到小数点后两位。

谁能明白为什么会发生这种情况吗?

表格如下:

<input type="text" name="amount" id="amount" maxlength="6" autocomplete="off"/><span class="paymentalert" style="color:red;"></span>
<br /><br />
<label for="delivery">Delivery:</label>
<select id="delivery" name="delivery">
<option value="1.50">Fast</option>
<option value="2.50">Medium</option>
<option value="3.50">Slow</option>
</select>

JavaScript 如下:

function updateCost()
{
var amount = parseFloat($('#amount').val()).toFixed(2);
var delivery = parseFloat($('#delivery').val()).toFixed(2);

var total = parseFloat(amount) + parseFloat(delivery);
$("#total").html(total);
$("#amountdiv").html(amount);
$("#deliverydiv").html(delivery);

var fixedrate = parseFloat(total / 100 * 8.2).toFixed(2);

var grandtotal = parseFloat(fixedrate) + parseFloat(total);
$("#grandtotal").html(grandtotal);
$("#total").html(total);
$("#fixedrate").html(fixedrate);

}

$(document).ready(function(){
$('#amount').change(function(){ updateCost(); });
$('#delivery').change(function(){ updateCost(); });
$('#grandtotal').change(function(){ updateCost(); });
});

最佳答案

toFixed(2) 只能在输出它的代码部分中使用。在这种情况下,您应该具有类似 $("#someID").html(total.toFixed(2)) 的构造,并删除额外的 parseFloat()。像这样的事情:

function updateCost() {
var amount = parseFloat(document.getElementById("amount").value),
delivery = parseFloat(document.getElementById("delivery").value),
total = amount + delivery,
fixedrate = total / 100 * 8.2,
grandtotal = fixedrate + total;

document.getElementById("total").innerHTML = total.toFixed(2);
document.getElementById("amountdiv").innerHTML = amount.toFixed(2);
document.getElementById("deliverydiv").innerHTML = delivery.toFixed(2);
document.getElementById("grandtotal").innerHTML = grandtotal.toFixed(2);
document.getElementById("fixedrate").innerHTML = fixedrate.toFixed(2);
}

$(function(){
document.getElementById("amount").onchange =
document.getElementById("delivery").onchange = updateCost;
});

关于javascript - 在正确的位置使用 toFixed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15259401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com