gpt4 book ai didi

javascript - Javascript 函数的意外结果

转载 作者:行者123 更新时间:2023-11-30 13:14:42 25 4
gpt4 key购买 nike

我是 JavaScript 的新手,但如果有人能告诉我我错过了什么,我将不胜感激。

基本上,我正在尝试从两个输入中测试较大的值。这是我到目前为止所做的:

$('#than_stock_submit').click(function() {
var pur_rate = $('#pur_rate input').val(),
sell_rate = $('#sell_rate input').val(),
msg_div = $('#sell_rate .msg');

if(greater_than(sell_rate, pur_rate, msg_div)==false){return false}
});

function greater_than(a, b, msg_div){
msg_div.show().html( '' );
if(a > b){
msg_div.show().html( '<p class="success">Sell Rate is good</p>' );
return true;
} else {
msg_div.show().html( '<p class="error">Sell Rate should be increased</p>' );
return false;
}
}

我检查了几个值。当我用小于 1000 的值和相似的两个值(如 b=500 和 a=5000 或 b=100 和 a=1000)进行测试时,它就可以工作了。其他值不起作用。

其他测试值是:

  1. a=751, b=750 和 result=true
  2. a=0751, b=750 和 result=false
  3. a=551, b=750 和 result=false
  4. a=1051, b=750 和 result=false
  5. a=7500,b=750 且结果=true
  6. a=6000,b=600 且结果=true

我还检查了控制台,如:console.log(a + b);

控制台窗口的结果类似于 1000750(当值类似于 a=1000 & b=750 时)或 0752750(当值类似于 a=0752 & b=750 时)。

谢谢。

最佳答案

您应该在比较之前将字符串转换为数字(使用 .val() 时它们会变成字符串)。使用 parseIntparseFloat:

function greater_than(a, b, msg_div){
a = parseInt(a, 10);
b = parseInt(b, 10);
// etc

关于javascript - Javascript 函数的意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12478611/

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