Я получаю неожиданное значение с помощью простого математического вычисления в Задаче C. Я вывел три различных части вычисления, а также результат вычисления ниже.
следующий код
NSLog(@"self.contentView.bounds.size.width: %f", self.contentView.bounds.size.width);
NSLog(@"SWATCHES_WIDTH: %f", SWATCHES_WIDTH);
NSLog(@"RIGHT_MARGIN: %f", RIGHT_MARGIN);
NSLog(@"(self.contentView.bounds.size.width - SWATCHES_WIDTH - RIGHT_MARGIN): %f", (self.contentView.bounds.size.width - SWATCHES_WIDTH - RIGHT_MARGIN));
дает следующий вывод:
self.contentView.bounds.size.width: 288.000000
SWATCHES_WIDTH: 82.000000
RIGHT_MARGIN: 12.000000
(self.contentView.bounds.size.width - SWATCHES_WIDTH - RIGHT_MARGIN): 214,000000
Я ожидаю, что результат будет 194 вместо 214 (288-82-12 = 194). Кто-нибудь может дать какое-либо представление о том, почему это рассчитывается так, как оно есть, и что я могу сделать, чтобы это исправить? Спасибо!
Насколько я знаю, все эти три значения являются CGFloats. Две константы определены следующим образом:
#define SWATCHES_WIDTH SWATCH_SIZE * 3.0 + SPACE_BETWEEN * 2.0
#define RIGHT_MARGIN 12.0