字符串到双重故障排除

发布于 2024-11-18 21:48:38 字数 555 浏览 4 评论 0原文

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

}

How do I correctly convert a NSString to a double in xcode 3.2? This is my code(abbreviated), but when I run it, the message says (null). What am I doing wrong? Thanks so much!

@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];

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清醇 2024-11-25 21:48:38

使用 %g 代表你的双精度..而不是 %@

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

Use %g for your double .. not %@

NSString *message = [[NSString alloc] initWithFormat:
                 @"%g", myDouble];
雨落星ぅ辰 2024-11-25 21:48:38

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

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

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

You try to display a double as if it were an object. Use this instead:

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

f means "double precision floating point number", while @ means "Objective-C object". A double is a double precision floating point number, not an Objective-C object.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文