2011-05-31 104 views
0

我有字符串,我想转换为double值。我写了代码,但有时我的程序正在崩溃。如何将字符串转换为浮点数在objective-c

double left_operand=[operand_1 doubleValue]; 

这里operand_1是NSString变量,我想将它转换成双值。有时上面的代码崩溃我的程序(自动关闭模拟器)

上面的代码是正确的吗?

+2

您的代码没问题。当应用程序崩溃检查控制台中的错误消息,看看问题是什么 – Vladimir 2011-05-31 07:56:56

+0

确实看起来不错,但是你可以告诉我们错误后的控制台日志以及stacktrace是什么样的? – 2011-05-31 07:57:25

+0

我的错误控制台显示 程序接收到的信号:“EXC_BAD_ACCESS” – 2011-05-31 07:59:49

回答

0

您可能会收到此错误,因为操作数_1在此处无法访问,因为可能您将其释放到此行之上,或者如果您正在使用自动释放,那么您不保留它,请在上面的行之前检查NSLog(@"%@",operand_1);正在得到同样的错误,那么我正确的

+0

我正在打印它,但同样的错误是在和控制台也没有显示任何东西。 – 2011-05-31 08:25:00

+0

我还得到了一件事,这是创建问题的一个字符串的长度。如果我有超过2的字符串长度。 – 2011-05-31 08:27:44

0
float valueFloat=[*your string* floatValue]; 
double valueDouble=[*yourstring* doubleValue]; 
+0

@Ajay_Kumar有时这也会发生,当你的字符串包含一些特殊字符检查。 – Gypsa 2011-05-31 08:17:45