Я читаю несколько целых чисел, которые представляют год, юлианский день, час и минуты. Я пытаюсь преобразовать их в дробные дни.Почему мои поплавки настаивают на сохранении целых чисел?
int YYYY, JJJ, HH, MM;
float datenumber = (YYYY*360.0f)+(JJJ*1.0f)+((HH*1.0f)+(MM/60.0f))/24.0f;
Используя значения 2001, 083, 22, 32
я должен получить результат 724043.939
. Вместо этого я получаю 724044
.
У меня есть все функции, отлитые как поплавки. Почему они остаются целыми?
Редактировать Да, я показывал вывод с помощью cout. setprecision решила проблему, спасибо.
Как вы просматриваете окончательное значение; debugger, 'printf()'? – trojanfoe
Как вы печатаете результат? Возможно, проблема в вашем заявлении на печать – vmpstr
Согласно [моему тесту] (http://ideone.com/KhmMZ), 'printf' отображает ожидаемый результат, но' cout' отображает «неправильное» значение. –