Строка для удвоения проблем - PullRequest
0 голосов
/ 06 июля 2011

Как правильно преобразовать NSString в double в xcode 3.2? Это мой код (сокращенно), но когда я его запускаю, появляется сообщение (ноль). Что я делаю неправильно? Спасибо!

@synthesize class1sem1;

-(IBAction)buttonPressed
{   
NSString *myString = class1sem1.text;
double myDouble = [myString doubleValue];


NSString *message = [[NSString alloc] initWithFormat:
                     @"%@", myDouble];

UIAlertView *alert =[[UIAlertView alloc] initWithTitle:@"Result" message:message delegate:nil cancelButtonTitle:@"Great!" otherButtonTitles:nil];
[alert show];
[alert release];
[message release];

}

Ответы [ 2 ]

1 голос
/ 06 июля 2011

Используйте% g для вашего двойника .. не% @

NSString *message = [[NSString alloc] initWithFormat:
                 @"%g", myDouble];
1 голос
/ 06 июля 2011

Вы пытаетесь отобразить двойное, как если бы это был объект.Используйте это вместо:

NSString *message = [[NSString alloc] initWithFormat:
                      @"%f", myDouble];
                     //  ^ note 'f' instead of '@'

f означает «число с плавающей запятой двойной точности», а @ означает «объект Objective-C».double - это число с плавающей запятой двойной точности, а не объект Objective-C.

...