NSNumbers являются неточными при получении с использованием основных данных - PullRequest
0 голосов
/ 31 августа 2011

Это немного странно для меня, но когда я выполняю основное деление на поплавке, я получаю неточные приближения. Это не большое дело, потому что я могу усечь число, но мне просто любопытно, почему NSNumbers ведут себя так. Пример кода включен ...

NSString *stringNumber = @"2782";
float ratio = [stringNumber floatValue]/10000;
NSNumber *sizeRatio = [NSNumber numberWithFloat:ratio];

//core data save...

при последующих загрузках число гласит: 0,2782000005245209

Есть идеи? Google не очень помог, потому что он продолжает показывать мне результаты для «числа» вместо «nsnumber»

Ответы [ 2 ]

4 голосов
/ 31 августа 2011

Это нормально для любых чисел с плавающей запятой

См. запись в википедии

0 голосов
/ 31 августа 2011

Оказывается, использование поплавков приводит к довольно неточным результатам на iOS. Вместо этого я добился гораздо большего успеха, используя удвоения.

...