[英]Best way to split integers in Objective C
如果我有这个:
int toSplit = 208;
拆分它的最佳方法是什么,所以我得到了:
2
0
8
方法会像这样
- (NSMutableArray *) toCharArray : (NSString *) str
{
NSMutableArray *characters = [[NSMutableArray alloc] initWithCapacity:[str length]];
for (int i=0; i < [str length]; i++)
{
NSString *ichar = [NSString stringWithFormat:@"%c", [str characterAtIndex:i]];
[characters addObject:ichar];
}
return characters;
}
do {
int digit = toSplit % 10;
toSplit /= 10;
printf(@"%i", digit);
} while (toSplit > 0);
我希望这不是家庭作业。
编辑:它是向后的,所以它不是一个有效的答案...但是,将其留在这里,因为它对其他人仍然有用。
将其分类为字符串,然后将其拉开。 像这样:
int toSplit = 208;
NSString *string = [NSString stringWithFormat: @"%i", toSplit];
NSMutableString *splitApartString = [[NSMutableString alloc] init];
for (int i = 0; i < [string length]; i++) {
NSString *substring = [string substringFromIndex: i];
[splitApartString appendFormat: @"%@\n", substring];
}
NSLog(@"%@", splitApartString); //YAY!
因此,这样做是将int放入字符串中,将其拆分,然后遍历每个字符并从该字符中获取一个字符串。 然后将子字符串追加到新字符串。
另一种替代方法是获取字符并使用%c
运算符,而不是获取子字符串。 另外,如果您看一下这段代码,您将看到以下输出:
> 2
> 0
> 8
> // extra space here
您可以只添加一个条件来检查i
是否为字符串长度-1,而不添加空格,或者可以删除最后一个字符!
我不熟悉Objective-C语法,但类似:
void split(int toSplit)
{
if (!toSplit)
{
return;
}
split(toSplit / 10);
int digit = toSplit % 10;
printf(@"%i", digit);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.