gpt4 book ai didi

javascript - 无法使用文本框值和计算值进行数学运算

转载 作者:行者123 更新时间:2023-12-03 04:26:06 25 4
gpt4 key购买 nike

我在代码中使用了一个函数,该函数接受用户写入的文本框中的值以及页面前面使用的计算值并进行数学运算。如果文本框值不是正数,则会出现一条警告,表明该值必须是正数。如果它是正数,则会显示数学结果警报。唯一的问题是,当这种情况发生时,出现的数字应该是“NaN”。我相信这是因为我使用的值实际上不是数字,但我不知道如何解决这个问题。

function computeTotalDistance(result) {
var total = 0;
var myroute = result.routes[0];
for (var i = 0; i < myroute.legs.length; i++) {
total += myroute.legs[i].distance.value;
}
total = (total / 1000) * 0.621371;
document.getElementById('total').innerHTML = total;
}

function calc_gallons() {
var total = parseInt(document.getElementById("total").value)
var averagempg = parseInt(document.getElementById("averagempg").value);
var gallons = 0;
if (averagempg > 0) {
gallons = total / averagempg
window.alert("This trip requires " + gallons + " gallon(s). Have safe travels!");
}else {
window.alert("Your average MPG must be a positive number in order to calculate the gallons required for this trip.");
}
}

#this is the text box and the button that does the function
<p>Your Average MPG:<input type="text" id="averagempg" name="MPG"></p>
<button type="button" name="Calculate" onclick="calc_gallons()">Calculate!

最佳答案

更好地使用显式类型转换:

var total = Number(document.getElementById("total").value);
var averagempg = Number(document.getElementById("averagempg").value);

parseInt 然后对空字符串 ('') 调用返回 NaN。

If the first character cannot be converted to a number, parseInt returns NaN.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt

示例:https://coderwall.com/p/kwhkig/javascript-number-conversion

关于javascript - 无法使用文本框值和计算值进行数学运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43710902/

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