Double
(и любое число с плавающей запятой) имеет собственный предел точности, обычно он составляет около 15-16 цифр.Обратите внимание, что это не только для Objective-C, но и для всех языков из-за ограничения двоичного представления с плавающей запятой.
То, что вы показываете, является просто нормальным, поскольку 50.81114
не может быть точно представлено в двоичном виде, приближениенеобходимо использовать.
Вы можете прочитать Википедию для дальнейшего чтения.