NSTimeInterval expirationTime = (secondsSinceUnixEpoch*1000)+120000;
expirationTime = ceil(expirationTime/2);
int expirationInt = (int)expirationTime;
NSLog(@"%d", expirationInt);
Выход журнала всегда отрицательный, хотя до того, как преобразовать его в int, это положительно ... Я попытался просто умножить его на -1, чтобы сделать его положительным снова, и он просто останется отрицательным! Я полностью озадачен .... не знаю много о C, я просто делаю что-то глупое?Почему преобразование моего float в int делает число отрицательным?
Вы считаете переполнение? – CRD
Почему вы конвертируете его в 'int'? Почему бы не сохранить его как 'NSTimeInterval' (' double')? – rmaddy
Попробуйте использовать 'long' или' long long', если вам действительно нужен интегральный тип. – rmaddy