2011-04-22 56 views
3

我需要從NSString獲取long的值。從NSString中獲取較長的值

例如,我有這樣的:

NSString *test = @"5437128"; 

,我需要:

long myLong = 5437128; 

如何我可以從這個NSStringlong

謝謝,它會幫助我!

回答

0

使用NSScanner像下面的代碼:

unsigned x; 

[[NSScanner scannerWithString: s2] scanHexInt: &x]; 

鍵入在掃描scanHexInt停止時,看到自己,你需要哪一個 - 有許多從字符串獲取值的可能性......

您可能想要使用scanlonglong ...已聲明變量爲

15
long longVariable = [test longLongValue]; 

NSString文檔..

+2

請注意,'long'不能用作標識符。 – 2011-04-22 02:50:45

+0

@Bavarious是的...沒有注意到..只是使用代碼段的問題..現在編輯..謝謝注意.. .. – Krishnabhadra 2011-04-22 02:53:40

0

使用此代碼:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; 
long number = [[numberFormatter numberFromString:string] longValue]; 
[numberFormatter release]; 
0

我使用的情況下,下面的你不想失去你的號碼的分數值

double x =[stringValue doubleValue]; 

,而不是

double x = [stringValue longLongValue]; 

如果我們假設我們有以下字符串值 並且我們想將其轉換爲雙倍我們有2種方式

NSString * stringValue = @"31.211529225111"; 
way #1 
    double x = [stringValue longLongValue]; 
result will be : x = 31 

way #2 
    double x =[stringValue doubleValue]; 
result will be : x = 31.211529225111001