2014-11-24 49 views
0

我是新來的目標c,我有很多格式爲「$ 99.99」(「$ double_number」)的字符串。 如何彙總所有價格並獲得一個實數?

+1

前綴美元符號在整數或雙/浮動? – 2014-11-24 13:29:41

+0

@Anoop Vaidya我想要雙倍從字符串中提取該值(例如「99.99美元」獲得99.99) – 2014-11-24 13:33:12

回答

3

一個快速的解決方法是刪除$,找到的doubleValue爲:

NSString *str = @"$99.99"; 
str = [str substringFromIndex:1]; 
double price = [str doubleValue]; 
NSLog(@"--> %.2f", price); //return 99.99 

注:double值(小數點後的值)具有更高的精度,你只需要兩個,我用.2f

+0

不能真正與某些事情爭論如此簡單+1 – Popeye 2014-11-24 13:33:23

+0

絕對是幾秒前的理由.. – lakesh 2014-11-24 13:33:52

+0

只有一次我想使用「NSNumberFormatter」來使它複雜而實時的貨幣轉換。 – 2014-11-24 13:34:31

2
NSString *stringValue = @"$99.99"; 
NSString *price = [stringValue substringFromIndex:1]; 
double price = [price doubleValue]; 
NSLog(@"price : %.2f", price); 

說明:

首先,你想讓它刪除美元符號和明年將其轉換使用中的doubleValue

+0

你可以編輯答案來滿足他的要求,通過加上'.2f',因爲他想要兩位小數。 – 2014-11-24 13:38:43

1

檢查翻一番,如果字符串已使用NSStringshasPrefix

NSString *strWithDollar = @"$4.95"; 
if([strWithDollar hasPrefix:@"$"]) 
{ 
    strWithDollar = [strWithDollar substringFromIndex:1]; 
} 
double price = [strWithDollar doubleValue]; 
NSLog(@"price : %.2f", price); //return 4.95