How to convert NSTimeInterval to int?

Pradeep Reddy Kypa picture Pradeep Reddy Kypa · Jun 20, 2012 · Viewed 71.9k times · Source

How do I convert NSTimeInterval into an Integer value?

My TimeInterval holds the value 83.01837. I need to convert it into 83. I have googled but couldn't find any help.

Answer

Aaron Hayman picture Aaron Hayman · Jun 20, 2012

Direct assignment:

NSTimeInterval interval = 1002343.5432542;
NSInteger time = interval;
//time is now equal to 1002343

NSTimeInterval is a double, so if you assign it directly to a NSInteger (or int, if you wish) it'll work. This will cut off the time to the nearest second.

If you wish to round to the nearest second (rather than have it cut off) you can use round before you make the assignment:

NSTimeInterval interval = 1002343.5432542;
NSInteger time = round(interval);
//time is now equal to 1002344