函数对我的方程式给出了错误的答案?

时间:2019-01-21 02:27:17

标签: javascript function

将摄氏温度转换为华氏度并反转。代码似乎运行良好,但是当我在F到C函数下给20时,它返回2.2222而不是应有的68,对两个方程式都相同。

let num = userInput
let numF = num * 9 / 5 + 32;
let numC = num - 32 * 5 / 9;




 celci = (num) => {
    console.log('Enter temp to convert')

    if (num <= 0 || num >= 0) {
        return numF
    }
    }
 if (num === 'F') {
    celci(num)
    }

如果我输入F,它会像应有的那样返回“输入要转换的温度”,但是当我给它一个数字时,它将返回完全错误的答案。

2 个答案:

答案 0 :(得分:1)

请注意运算符的优先级。 *\+-之前执行(与数学方程式相同)。所以在:

num - 32 * 5 / 9

您的方程式有效:

num - (32 * 5 / 9)

但应为:

(num - 32) * 5 / 9;

第一个等式应该在+结束时起作用。

答案 1 :(得分:0)

运算符的优先级有误。最好在复杂的方程式中使用方括号。 您应该使用:

let numC = (num - 32)* (5/ 9);