Xcode [NSString floatValue] Проблема округления - PullRequest
1 голос
/ 21 июня 2011

Привет! У меня проблема с функцией floatValue NSString, если пользователь вставил более шести десятичных чисел в функцию floatValue. Округление данных.

NSString *String = @"9.999999";
NSLog(@"Var Float: %f",[String floatValue]);

Результат 9.999999

NSString *String = @"9.9999999";
NSLog(@"Var Float: %f",[String floatValue]);

Результат 10 ??????

Кто-то может помочь мне решить это? Заранее спасибо!

1 Ответ

5 голосов
/ 28 сентября 2011

Вы не можете использовать float для управления точностью числа Использовать NSDecimalNumber

NSString *Stringa = @"9.9999999";
NSDecimalNumber *Decimal = [[NSDecimalNumber alloc] initWithString:Stringa];
NSLog(@"Var Float: %f",[Decimal floatValue]);
NSLog(@"Var Float: %@",[Decimal stringValue]);
...