gpt4 book ai didi

javascript - 如何在 JavaScript 中向变量添加数字以进行温度转换?

转载 作者:行者123 更新时间:2023-12-03 02:22:51 25 4
gpt4 key购买 nike

我正在尝试制作一个 JS 应用程序,将华氏温度转换为摄氏度/开尔文温度。用户在网站的数字文本框中输入数字,然后选择要转换为的单位。在JS中,数字被赋给变量'a'

这是我的代码:

//Celsius
document.getElementById("tmpVal").value = ((a-32)*(5/9) + "° C");
//Kelvin
document.getElementById("tmpVal").value = ((a + 459.67)*(5/9) + "° K");

对于摄氏度,当我输入 39 时,我得到正确的答案:3.89。但对于开尔文,我得到的不是 277.039,而是 21922.0389。我假设它与变量类型有关,因为它似乎将 459.67 添加到存储在 a 中的任何内容的末尾。就像 39 + 459.67 = 39459.67。我知道添加内容可能会变得有点复杂,但我不知道如何在 Google 中表达我的问题以找到答案。

最佳答案

这是正确的计算方法。对某个变量分别进行计算,然后显示所需的结果。

这是工作示例:

function convertTmp() {
var a = parseFloat(document.getElementById('entVal').value);
var toC = (a-32)*(5/9);
var toK = (a+459.67)*(5/9);
var rn = parseInt(document.getElementById('lstRnd').selectedIndex);

var result;
if (document.getElementById('rbC').checked) {
if (toC.toString() == 'NaN') {
result = 'error';
} else {
result = toC.toFixed(rn) + '° C';
}
} else {
if (toK.toString() == 'NaN') {
result = 'error';
} else {
result = toK.toFixed(rn) + '° K';
}
}
document.getElementById('tmpVal').innerHTML = result;
}
div {
padding:10px;
width:100px;
border:solid 1px #800000;
margin-top:20px;
}
<input type="text" value="" id="entVal" /><br><br>
Rounding decimals :
<select id="lstRnd" onchange="convertTmp();">
<option>0</option>
<option>1</option>
<option selected="selected">2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
<br><br>
<input type="radio" name="rbCh" id="rbC" checked /><label for="rbC">° C</label>
<input type="radio" name="rbCh" id="rbK" /><label for="rbK">° K</label><br>
<input type="button" onclick="convertTmp();" value="Convert" />
<div id="tmpVal"></div>

关于javascript - 如何在 JavaScript 中向变量添加数字以进行温度转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49081565/

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