字符串双重故障射击

时间:2011-07-06 17:04:53

标签: ios xcode nsstring double

如何在xcode 3.2中正确地将NSString转换为double?这是我的代码(缩写),但是当我运行它时,消息显示(null)。我究竟做错了什么?非常感谢!

@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 个答案:

答案 0 :(得分:1)

您尝试将双精度显示为对象。请改用:

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

f表示“双精度浮点数”,而@表示“Objective-C对象”。 double是双精度浮点数,而不是Objective-C对象。

答案 1 :(得分:1)

将%g用于你的双..而不是%@

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