Вы можете использовать деление, чтобы сделать эквивалент по модулю:
double e = 1289401004400.589201;
const double divisor = 100000.0;
double remainder = e - floor(e / divisor) * divisor;
double result = floor(remainder);
printf("%f\n", result);
Это печатает
4400.000000
Конечно, это многомедленнее любого встроенного по модулю ...
Вы также можете просто использовать fmod
, как предложил Андерс К.:)
Редактировать
Исправлена ссылка на std :: cout (C ++) для использования printf (C).Исправлено изменение выхода.Теперь это чисто C.