float не работает в if else операторе (c) - PullRequest
0 голосов
/ 17 декабря 2018

Всякий раз, когда я пытаюсь использовать значение с плавающей запятой в этом IF ELSE statement, это дает мне 0 или неправильный ответ.Я использовал INT для остальной части кода, а остальное работает нормально.Это первый раз, когда я использовал float в коде, и теперь он не дает мне ответ, который я хочу.

Подскажите, пожалуйста, что я делаю не так?

float interestrate;

    if (month < 49)
    {
        interestrate = (0.063);
    }
    else if (salary <= 25000)
    {
        interestrate = (0.033);
    }
    else if (salary > 45000)
    {
        interestrate = (0.063);
    }
    else
    {
        interestrate = (0.033+(salaryabovethreshold*0.0000015));
    }

    printf("Interest Rate: %d \n", interestrate);

1 Ответ

0 голосов
/ 17 декабря 2018

Спецификатор формата %d предназначен для int с, а не float с.Попробуйте %f, %e или %g или %a для типов с плавающей точкой.

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