Преобразуйте число с запятой в число с точкой.(Какао Touch) - PullRequest
1 голос
/ 26 апреля 2011

Я пытаюсь кодировать калькулятор с помощью XCode, но потом я увидел, что числа с запятой просто обрезаются после запятой.

Я получаю числа с этим кодом из текстового поля.

-(IBAction)Additionbutton:(id)sender{

NSString *firstString = field1.text;
NSString *secondString = field2.text;
float num1;
float num2;
float output;
num1 = [firstString floatValue];
num2 = [secondString floatValue];
output = num1 + num2
Solutionfield.text = [ [NSString alloc] initWithFormat:@"%.2f",output] ;

Можно ли настроить расчет таким образом, чтобы он мог обрабатывать точки И запятые или делатьнужно конвертировать их и если да, то как я могу это сделать?

Спасибо:)

Ответы [ 2 ]

3 голосов
/ 26 апреля 2011

Может быть, вы должны использовать: NSNumberFormatter

Как преобразовать NSString в NSNumber

0 голосов
/ 18 сентября 2012

Сегодня утром я испытал то же самое, у меня сработало следующее решение:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
NSNumber *aNumber = [NSNumber numberWithFloat:[[yourFloatAsString stringByReplacingOccurrencesOfString:@"," withString:@"" ] floatValue]];
[numberFormatter setNumberStyle:kCFNumberFormatterDecimalStyle];
NSString *formattedNumber;
formattedNumber = [numberFormatter stringFromNumber:aNumber];
NSLog(@"formattedNumber: %@", formattedNumber);

Очевидно, что это не самое эффективное решение. Это работает, но если у вас есть время, я настоятельно рекомендую вам взглянуть на NSNumberFormatter Class Reference

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...