Функция дает неправильный ответ на мое уравнение? - PullRequest
0 голосов
/ 21 января 2019

Преобразование Цельсия в Фаренгейт и обратное.и код, кажется, работает нормально, но когда я даю 20 в функции F к C, он возвращает 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, он возвращает«Введите temp для конвертации», как и должно быть, но когда я даю ему число, он возвращает совершенно неправильный ответ.

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Ошибка в приоритете операторов.Лучше использовать скобки в сложных уравнениях.Вы должны использовать:

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

0 голосов
/ 21 января 2019

Будьте осторожны с приоритетом оператора.* и \ выполняются до + и - (что аналогично математическим уравнениям).Таким образом, в:

num - 32 * 5 / 9

ваше уравнение эффективно:

num - (32 * 5 / 9)

, но должно быть:

(num - 32) * 5 / 9;

Первое уравнение должно работать как +в конце концов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...