将NSString转换为NSInteger?

The*_*ler 73 iphone nsstring nsinteger

我想转换string dataNSInteger.

Aur*_*ila 139

如果字符串是数字的人类可读表示,则可以执行以下操作:

NSInteger myInt = [myString intValue];
Run Code Online (Sandbox Code Playgroud)

  • 我相信表达式的右边应该是[myString integerValue],不是吗? (56认同)
  • intValue返回一个int,integerValue返回一个NSInteger.int始终是int类型,但NSInteger更改已编译设备的类型.还有更多内容,但建议尽可能使用NSInteger. (4认同)
  • 我很失望。如果您执行类似[[@“ Test” integerValue]`的操作,则它将返回`0`,因为`Test`不是数字。这是一种不安全的方法。 (2认同)

Eti*_*Sky 73

[myString intValue] 返回一个cType"int"

[myString integerValue]返回一个NSInteger.

在大多数情况下,我通过查看apple类引用找到这些简单的函数,最快的方法是单击[option]按钮并双击类声明(在本例中为NSString).

  • 简单和实用技巧.:) (2认同)

小智 22

我发现这是正确的答案.

NSInteger myInt = [someString integerValue];
Run Code Online (Sandbox Code Playgroud)


小智 7

NSNumber *tempVal2=[[[NSNumberFormatter alloc] init] numberFromString:@"your text here"];
Run Code Online (Sandbox Code Playgroud)

如果是string或返回NSNumber,则返回NULL

NSInteger intValue=[tempVal2 integerValue];
Run Code Online (Sandbox Code Playgroud)

返回NSNumber的整数