2011-04-08 37 views
3

我正在解析一个XML,并得到2个值,如目标:$ 1,000和收到:$ 500。现在,数值以字符串格式包括“$”符号。我使用子字符串,并得到500的价值。现在我必须计算它说的百分比,其目标的50%(1000美元)。NSString子串

但由于收到金额的任意长度,我感到困惑意味着如何计算收到金额时的百分比,例如$ 50或$ 500或$ 5,000?

如何从目标和收到的目标中删除“$”和“,”符号?

谢谢..

回答

4
NSString *[email protected]"$5,000"; 
NSString *str1=[[str stringByReplacingOccurrencesOfString:@"$" withString:@""] retain]; 
NSString *final=[[str1 stringByReplacingOccurrencesOfString:@"," withString:@""] retain]; 

//释放str1和决赛。

试试这对你有帮助。

2

删除$很简单,只需使用字符串替换:

NSString *temp = [@"$100" stringByReplacingOccurrencesOfString:@"$" withString:@""]; 

你也可以做的,

+0

你的回答中有些东西已经被删除了,是吗? – 2011-04-08 08:35:35

+0

真的吗?,哪里。我没有包括这个,因为我认为这是不言自明的。 – rckoenes 2011-04-08 09:00:06

+0

哈哈!啊,好吧,我没有意识到你的意思是“,”。我认为最后一句的结尾是缺少的:-) – 2011-04-08 09:09:40

3

的NSString扩展:

@implementation NSString (DeleteCharacters) 
- (NSString *)stringByDeletingCharactersInSet:(NSCharacterSet *)cs { 
    NSArray *array = [self componentsSeparatedByCharactersInSet:cs]; 
    return [array componentsJoinedByString:@""]; 
} 
@end 

并用它来删除不需要的字符:

[string stringByDeletingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"$,"]]; 
2

[stringContains$ stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"$"]];这条线是有用的,当使用完删除$符号

+0

不是这样的逗号。如果你有一些流浪的领先空白,它甚至会失败。 – ssteinberg 2011-04-08 08:35:43