将字符串转换为int-objective c

问题描述:

我还没有弄清楚如何将NSString转换为int。我试图将ASCII转换为文本,但要做到这一点,我需要将一个字符串转换为一个int。将字符串转换为int-objective c

我觉得很奇怪,这不是在线或堆栈溢出。我确定我不是那个需要这个的在线人。

在此先感谢您的帮助。

P.S.如果这能帮助这里是我使用转换为ASCII代码:

+ (NSString *) decodeText:(NSString *)text { 
    NSArray * asciiCode = [text componentsSeparatedByString:@"|"]; 
    int i = 0; 
    NSMutableString *decoded; 

    while (i < ([asciiCode count]-1)) { 

     NSString *toCode = [asciiCode objectAtIndex:i]; 
     int codeInt = toCode; 
     NSString *decode = [NSString stringWithFormat:@"%c", codeInt]; 
     [decoded appendString:decode]; 

    } 

    return decoded; 
} 
+0

我看了很多问题,但找不到答案。这就是我问的原因。 – DonyorM

为了解析字符串为整数,你应该做的:

NSString *a = @"123abc"; 
NSInteger b = [a integerValue]; 
+0

你也可以用int来做到这一点。感谢您的帮助。 – DonyorM

+0

gr8 ...享受编码 –

分数可能偏离主题,但转换为ASCII你可以只使用:

[NSString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES] 

或者在你的榜样:

return [text dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

这将返回一个NSData,如果这是您需要的,您可以遍历该NSData以获取ASCII的字符串表示形式(根据您的方法)。

使用这种方法的原因是因为NSString的可以存储非ASCII字符,你当然可能会失去细节,但启用allowLossyConversion标志将尝试克服这一点。按照the Apple documentation

例如,在从NSUnicodeStringEncoding的字符转换为 NSASCIIStringEncoding,字符“A”变为“A”,失去 口音。

+0

那么我在哪里添加我想要转换的字符串? – DonyorM

+0

@DonyorM dataUsingEncoding ...是你在*字符串上调用*的方法。 (我会更新我的答案。) –

+0

谢谢,对不起一些函数以“NSString”开头。大多数情况下,我是一个noob。 – DonyorM