0

我正在解析一些 XML,其中包含格式化100,000+为 NSString 的数字。我想将这些值转换为我用它们计算的整数。既然有“,”和“+”,我该怎么做?

4

3 回答 3

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];
于 2013-01-22T14:18:48.980 回答
1

你总是可以去掉你不想要的字符:

[yourStringObject stringByReplacingOccurrencesOfString:@"+" withString:@""];

然后它很简单:

[yourStringObject intValue];
于 2013-01-22T14:18:36.703 回答
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];
于 2013-01-22T14:17:43.560 回答