JQuery 减法后负结果的任何解决方案
Any solution for negativ result after subtraction in 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
使用JavaScript abs() 方法
绝对值:Math.abs(-3.0877706);
结果:3.0877706
您的代码正在运行。我在输入 field1
中使用了不同的负数(-5、-4)并且它起作用了。
也许您正在代码中进行其他一些可能导致问题的计算。给定您的代码,在 field1
中输入,我们独立地得到与检查 male
或 female
相同的输出。
//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>
我是编码方面的新手,我有以下问题:我有 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
使用JavaScript abs() 方法
绝对值:Math.abs(-3.0877706);
结果:3.0877706
您的代码正在运行。我在输入 field1
中使用了不同的负数(-5、-4)并且它起作用了。
也许您正在代码中进行其他一些可能导致问题的计算。给定您的代码,在 field1
中输入,我们独立地得到与检查 male
或 female
相同的输出。
//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>