浏览器中的Javascript输出错误

时间:2015-06-02 00:33:30

标签: javascript

我正在使用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.任何想法?

2 个答案:

答案 0 :(得分:2)

您需要将输入转换为整数 -

var degCent = parseInt(prompt("enter", 50) , 10);

答案 1 :(得分:1)

degCent值被视为字符串。在评估表达式时,Javascript有助于字符串连接

(degCent + 32) = "5032"

只有在开始进行乘法和除法时,它才会将上述结果转换为数字来进行算术运算。这是Javascript的意外(但记录在案)行为。

要解决此问题,请通过执行以下操作强制degCent值为数字:

(+degCent + 32)

前导+会在添加32之前将字符串"50"转换为数字。