Double (and any floating point number) has its own precision limit, usually it will be about 15-16 digits. Please note that this is not only for Objective-C, but for all languages โโbecause of the limit of representing binary floating point.
What you are showing is just normal, since 50.81114 cannot be accurately represented in binary format, you need to use approximation.
You can read Wikipedia for further reading.
source share