我正在使用JavaScript中的Celsius到Fahrenheit函数,我编写了这段代码:
<!DOCTYPE html>
<html>
<head>
<title>Celius to Fahrenheit Converter</title>
</head>
<body>
<script type="text/javascript">
alert("Welcome");
function tempConverter() {
var degCent = prompt("Enter the degrees in Farenheit", 50)
var degFahren;
degFahren = 9/5 * (degCent + 32);
alert(degFahren);
}
tempConverter();
</script>
</body>
</html>
我尝试使用50作为默认值,当我转换它时显示9057.6而不是122.任何想法?
答案 0 :(得分:2)
您需要将输入转换为整数 -
var degCent = parseInt(prompt("enter", 50) , 10);
答案 1 :(得分:1)
degCent
值被视为字符串。在评估表达式时,Javascript有助于字符串连接:
(degCent + 32) = "5032"
只有在开始进行乘法和除法时,它才会将上述结果转换为数字来进行算术运算。这是Javascript的意外(但记录在案)行为。
要解决此问题,请通过执行以下操作强制degCent
值为数字:
(+degCent + 32)
前导+
会在添加32之前将字符串"50"
转换为数字。