如何在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];
}
答案 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];