将字符串转换为字符到整数

时间:2013-09-30 01:18:24

标签: indexing integer character decimal

我试图取一个字符串(@“12345”)和每个字符的提取器并转换为它的十进制等值。

@“1”= 1 @“2”= 2 等

这是我迄今为止所拥有的:

...
[self ArrayOrder:@"1234"];
...

-(void)ArrayOrder(Nsstring *)Directions
 {



   NSString *singleDirections = [[NSString alloc] init];

   //Loop Starts Here

   *singleDirection = [[Directions characterAtIndex:x] intValue];

   //Loop ends here


 }

我一直在收到类型错误。

1 个答案:

答案 0 :(得分:0)

代码的问题是[Directions characterAtIndex:x]返回unichar,这是一个Unicode字符。

相反,您可以使用NSRange和子字符串从字符串中获取每个数字:

NSRange range;
range.length = 1;
for(int i = 0; i < Directions.length; i++) {
    range.location = i;
    NSString *s = [Directions substringWithRange:range];
    int value = [s integerValue];
    NSLog(@"value = %d", value);
}

另一种方法是使用/ 10% 10分别从字符串中获取每个数字。如:

NSString* Directions = @"1234";
int value = [Directions intValue];
int single = 0;
while(value > 0) {
    single = value % 10;
    NSLog(@"value is %d", single);
    value /= 10;
}

然而,这会向后传递你的字符串。