将字符串转换为int


87

我在将字符串转换为整数时遇到麻烦。我用谷歌搜索,但是我只能找到如何将一个int转换成一个字符串。有人知道怎么做吗?谢谢。

Answers:



22

怎么样

[@"7" intValue];

另外,如果您想要一个NSNumber可以做的

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter numberFromString:@"7"];

6
主人NSNumberFormatter很复杂...我的意思是“功能完整”。
戴夫·多普森

4
当心-在iOS7中,它numberFromString似乎是实例方法而不是方法,因此您应该这样做[[NSNumberFormatter new] numberFromString:@"7"];
mgarciaisaia 2014年

@mgarciaisaia我们不应该[[[NSNumberFormatter alloc] init] numberFromString:@"7"];按照stackoverflow.com/questions/719877/…
迈克尔·奥索夫斯基

3

我用:

NSInteger stringToInt(NSString *string) {
    return [string integerValue];
}

反之亦然:

NSString* intToString(NSInteger integer) {
    return [NSString stringWithFormat:@"%d", integer];
}

1
检查您的返回值。NSString *
AWF4vk 2011年

我正在使用从NSUserDefaults提取的数据,所以我应该在NSString * string =
MacN00b

这些都可以实际工作吗?当然,这些定义需要使用半冒号,否则您将崩溃,unrecognized selector因为实际上您发送的@selector(intToString:)不是@selector(intToString)。当然应该是这样- (NSInteger) stringToInt:(NSString *)string;- (NSString *)intToString:(NSInteger)integer;
Paul.s 2011年

1
它们都是C函数。NSString *就像@David所说的,它必须是正确的。
浓缩咖啡

@Espresso欢呼我没有C的背景,所以现在变得更有意义
Paul.s 2011年


1

这是将字符串转换为int的简单解决方案

NSString *strNum = @"10";
int num = [strNum intValue];

但是当您从文本字段获得价值时,

int num = [txtField.text intValue];

其中txtFieldUITextField的出口


1

我不得不做这样的事情,但想为我使用一个吸气剂/设置器。特别是我想从文本字段返回很长的一段。其他答案也都很好用,随着我的学校项目的发展,我最终对我的做出了一点调整。

long ms = [self.textfield.text longLongValue];
return ms;


0

好简单..

int (name of integer) = [(name of string, no ()) intValue];


0

还有另一种方式:如果使用的是C字符串,例如const char *,则C native atoi()更方便。


0

您也可以像这样使用:

NSInteger getVal = [self.string integerValue];


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.