繁体   English   中英

Objective-C将“ 00120”之类的字符串转换为整数数组

[英]Objective-C Convert String like '00120' into array of Integers

我需要将字符串'00120'转换为NSIntegers的NSArray。

你能帮忙吗?

谢谢

尝试以下代码:

NSString *input = @"00120";
NSMutableArray *integers = [NSMutableArray array];

for (int i = 0; i < input.length; i++) {
    unichar c = [input characterAtIndex:i];

    if (!isnumber(c))
        [integers addObject:[NSNumber numberWithInt:-1]];
    else 
        [integers addObject:[NSNumber numberWithInt:c - '0']]; // convert the ASCII value to it's integer counterpart.
}

当然,这是假设您的所有字符都是字符串中的数字。

编辑:如果您想要一个NSInteger,您需要制作一个C数组:

NSString *input = @"00120";
NSInteger *integers = calloc(input.length, sizeof(NSInteger));
NSInteger integersLen = input.length;

for (int i = 0; i < input.length; i++)
{
    unichar c = [input characterAtIndex:i];

    if (!isnumber(c))
        integers[i] = -1;
    else
        integers[i] = c - '0'; // convert the ASCII value to it's integer counterpart
}

您需要了解的所有信息都可以在NSStringNSMutableArray的类参考中找到。 查找教程上for循环,如果你不熟悉他们了。

那你可能要使用值得注意的方法是-length-characterAtIndex:对的NSString和-addObject: / -insertObject:atIndex:上的NSMutableArray。

我并不是故意要光顾的,但我不会在这里为您编写代码,因为如果您自己寻求帮助,您会学到更多。 如果您遇到困难,请随时使用您的代码更新问题,并寻求更具体的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM