gpt4 book ai didi

javascript - 意外的 JavaScript 响应

转载 作者:行者123 更新时间:2023-12-02 16:23:59 25 4
gpt4 key购买 nike

首先这是我的代码,

$(function() {
var fee_percent = parseFloat('<?php echo $gateway["gateway_fees"]; ?>');
var fee_fixed = parseFloat('<?php echo $gateway["gateway_fixed_fees"]; ?>');
var min = parseFloat('<?php echo $gateway["min_invest_limit"]; ?>');
var max = parseFloat('<?php echo $gateway["max_invest_limit"]; ?>');


$("#amountId").on('change keyup keydown', function() {
var $this = $(this);
var val = parseFloat($this.val());
val = val.toFixed(5);

var valid = true;

var fee = parseFloat(val * fee_percent / 100) + fee_fixed;
fee = fee.toFixed(5);

var final_amount = val - fee;
final_amount = final_amount.toFixed(5);

console.log("value: " + val);
console.log("fee: " + fee);
console.log("final: " + final_amount);
console.log("min: " + min.toFixed(5));
console.log("max: " + max.toFixed(5));

if(val <= 0 || isNaN(val) || fee > val || val < min.toFixed(5) || val > max.toFixed(5)) fee = final_amount = 0;

$("#depositFee").html(fee);
$("#depositAmountFinal").html(final_amount);
});
});

现在我的问题是,val > max.toFixed(5) 这始终返回 TRUE。

这是控制台响应:

值:11.00000费用:0.46000最终:10.54000分钟:10.00000最大值:10000.00000

所以值为 11,最大值为 10000,那为什么它是 false?

如果不清楚,请询问,谢谢。

更新:当我输入 10、100 或 1000 等时,它工作正常。

如果我不使用 max.toFixed(5) 而只使用 max,则一切正常,但当我最后输入一些带有 5 的值时,如 55、65、75 等,条件再次变为 true,则应返回 false。

最佳答案

toFixed 返回字符串。

因此 "11"> "10000" 返回您 true 因为。 1 后跟 1 大于 1 后跟 0

您可以在控制台中尝试:

"01">"0001" 将返回 true,这也是基于相同的概念。

要避免它:

parseFloat(val) > parseFloat(max.toFixed(5))

关于javascript - 意外的 JavaScript 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28870943/

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