将NSString转换为整数

时间:2013-01-22 14:12:35

标签: ios objective-c parsing

我正在解析一些XML,其中包含格式为100,000+的数字作为NSString。我想将这些值转换为我用它们计算某些东西的整数。我怎么能这样做,因为有一个“,”和“+”?

3 个答案:

答案 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];