在 JQuery 中减去后的任何负结果解决方案



我在编码方面相对较新,我有以下问题:我有 13 个数字输入,它们都是浮点数,在用户输入后自动出现(class="autoValue"(。它们必须加在一起。然后,结果必须用于 Math.exp 函数。我的问题是其中一个数字是负数(-5(,尽管减法在JQuery中是有效的操作,但最终结果几乎总是负数(该函数在每个用户输入后触发(。所以我得到 NaN 结果...

  • 如何克服此问题?
  • 我算错了吗?
  • 我的代码可以吗?
  • 指数部分对吗?
不幸的是,我

在网上找到的所有解决方案都不能解决我的问题,所以我需要一些帮助。编辑:我添加了HTML的一部分(完整的代码太长了(。提前感谢!

//get gender
$('input').click(function(e){
if ($("#demo09a").is(':checked')){
$("#2").val(0.65);
}
else {
$("#2").val(0);
}
})
 function getScore() {
  var sum = 0;
  $(".autoValue").each(function() {
    sum += +this.value;
  });
  console.log("sum:" + sum)
  var ex = Math.exp(sum);
  console.log("ex:" + ex)
  var result = ex / (1 + ex);
  var finalResult = result.toFixed(2);
  if (isNaN(finalResult)) finalResult = 0;
  $('#result').val((finalResult));
}
$(document).ready(function() {
  $('.trigger').click(function(event) {
    getScore();
  });
  $('.triggeriii').keyup(function(event) {
    getScore();
  });
  $('.triggeriii').blur(function(event) {
    getScore();
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="result" type=“text” readonly="true">Result <br />
<input id="1" class="autoValue" type=“text” value="-3.0877706">Field 1 <br >
<input id="demo09a" class="trigger" type="radio" name="gender" value="1">female
<input id="demo09b" class="trigger" type="radio" name="gender" value="0">male<br />
<input id="2" class="autoValue" type=“text” name="2" readonly="true">Field 2

您的代码正在工作。我在输入field1中使用了不同的负数(-5、-4(,它起作用了。也许您正在代码中执行一些可能导致问题的其他计算。给定您的代码,在field1中输入,我们独立地具有相同的输出,malefemale被检查。

//get gender
function triggerComputation(){
$('input').click(function(e){
if ($("#demo09a").is(':checked')){
$("#2").val(0.65);
}
else {
$("#2").val(0);
}
})
getScore()
}
 function getScore() {
  var sum = 0;
  $(".autoValue").each(function() {
    sum += +this.value;
  });
  console.log("sum:" + sum)
  var ex = Math.exp(sum);
  console.log("ex:" + ex)
  var result = ex / (1 + ex);
  console.log("result:"+result);
  var finalResult = result.toFixed(2);
  if (isNaN(finalResult)) finalResult = 0;
  $('#result').val((finalResult));
}
$(document).ready(function() {
  $('.trigger').click(function(event) {
    getScore();
  });
  $('.triggeriii').keyup(function(event) {
    getScore();
  });
  $('.triggeriii').blur(function(event) {
    getScore();
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="result" type=“text” readonly="true">Result <br />
<input id="1" class="autoValue" type=“text” value="-3.0877706">Field 1 <br >
<input id="demo09a" class="trigger" type="radio" name="gender" value="1">female
<input id="demo09b" class="trigger" type="radio" name="gender" value="0">male<br />
<input id="2" class="autoValue" type=“text” name="2" readonly="true">Field 2
<button onclick="triggerComputation()">compute</button>

使用 JavaScript abs(( 方法

绝对值:Math.abs(-3.0877706);

结果 : 3.0877706

最新更新