Помогите с лёгкой задачкой по С++



Недавно начал самостоятельно учиться программировать на С++. Столкнулся с таким вопросом: (см. скриншот) При вводе значения переменной MinSek 2.60, программа возвращает значение 2.599999. По какой причине и как исправить? Пи вводе значения 1.60 всё работает.

#include
#include
#include
int main() {
float time;
unsigned min, sec, total;
setlocale(LC_CTYPE, "Russian_Russia.1251");
printf("Введите время в формате mm.ss -> ");
scanf_s("%f", &time);
if ((sec = (unsigned)((time - (unsigned)time + 0.001f) * 100)) >= 60) {
printf("\a\tОшибка! Предельно допустимое значение для секунд 59");
} else {
min = 60 * (unsigned)time;
total = min + sec;
printf("Время в секундах: %u", total);
}
_getch();
return 0;
}

Число, записывающееся в десятичной системе как 2,60, в двоичной системе невозможно представить с конечной длиной записи. Для чтения в привычном виде исправляется округлением.

используй округление

это не исправить - это не ошибка. это свойство представления нецелых чисел в двоичной системе счисления.