У меня есть NSArray, в котором я хотел бы хранить двойные значения. Я определил это следующим образом
NSMutableArray *setOfDoubles;
Я добавляю элементы следующим образом
NSNumber *num;
num = [NSNumber numberWithDouble:someDouble];
[setOfDoubles addObject:num];
И я прочитал элемент следующим образом
num = [setOfDoubles lastObject];
[setOfDoubles removeLastObject];
doubleValueToUse = [num doubleValue];
Моя проблема иногда (не всегда), например, когда число (как объект) равно 5,1, doubleValueToUse (как двойное значение) равно 5,099999999999996. То, как я понял num (как объект), равно 5.1, заключается в том, что я отлаживаю, и когда я наводил указатель мыши на num в строке num = [setOfDoubles lastObject]; он показывает 5.1, но после преобразования doubleValue он становится числом, которое я упомянул. Кто-нибудь знает, почему это происходит?