Если вы действительно хотите, чтобы после цифры оставались две цифры, умножьте на 100, округлите их с помощью функции round (), разделите снова на 100. Тем не менее, это не гарантирует, что у него действительно только две цифры после точки, так как, разделив его снова, вы можете получить число, которое не может быть выражено с помощью чисел с плавающей запятой, и когда вы ожидаете 0,1, вы можете получить 0,09999 ., потому что вы не можете выразить 0.1 с помощью записи с плавающей запятой.
Если вы просто хотите округлить его до двух цифр после точки для отображения, вы можете использовать NSNumberFormatter, как было предложено, или просто использовать:
printf("%.2f\n", yourTimeInterval);
NSLog(@"%.2f\n", yourTimeInterval);
или чтобы получить строку NSString, вы также можете использовать следующее, что, вероятно, даже быстрее, чем использование NumberFormatter (однако оно не будет локализовано в соответствии с пользовательскими настройками):
NSString * intervalStr = nil;
char * intervalStrTmp = NULL;
asprintf(&intervalStrTmp, "%.2f", yourTimeInteval);
if (intervalStrTmp) {
intervalStr = [[NSString alloc] initWithUTF8String:intervalStrTmp];
free(intervalStrTmp);
}