我正在解析一些XML,其中包含格式为100,000+
的数字作为NSString。我想将这些值转换为我用它们计算某些东西的整数。我怎么能这样做,因为有一个“,”和“+”?
答案 0 :(得分:2)
试试此代码
NSMutableString* string = [NSMutableString stringWithString: @"100,000+"];
[string replaceOccurencesOfString: @"\," withString: @"" options: 0 range: NSMakeRange(0, [string length] ) ];
[string replaceOccurencesOfString: @"\+" withString: @"" options: 0 range: NSMakeRange(0, [string length] ) ];
NSInteger intValue = [string integerValue];
答案 1 :(得分:1)
您可以随时删除不需要的字符:
[yourStringObject stringByReplacingOccurrencesOfString:@"+" withString:@""];
然后就这么简单:
[yourStringObject intValue];
答案 2 :(得分:0)
它们是否始终使用+
格式化?您可以检查该符号的字符串(或其他可能的符号)并将其删除,并正常转换。
以下是一些代码:
NSString *value = @"100,100+";
unichar lastChar = [value characterAtIndex:value.length - 1];
if (lastChar < '0' || lastChar > '9') // check for any symbol
value = [value substringToIndex:characterAtIndex:value.length - 1]; // remove it
value = [value stringByReplacingOccurrencesOfString:@"," withString:@"."]; // in case intValue doesn't handle commas, not sure if necessary
NSInteger result = [value intValue];