2011-04-08 25 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