2010-07-07 19 views
23

Objective-C'de bir dizgiyi float'a nasıl dönüştürebilirim? Bu bana verirDize Float nesnesine dönüştürülür Objective-C

float subTotal = [[[[purchaseOrderItemsJSON objectAtIndex:i] objectAtIndex:j] objectForKey:@"Price"] floatValue]; 

NSLog(@"%@",subTotal); 

: (null) konsolunda

ben JSON'dan geri alıyorum dizeleri bir çift çoğalmaya çalışıyorum. Bu diziden çıkan geçerli bir dize olduğunu biliyorum çünkü değerini etiketinde göstermek için zaten kullanıyorum.

cevap

64
your_float = [your_string floatValue]; 

DÜZENLEME:

bu deneyin:

NSLog(@"float value is: %f", your_float); 
+0

yüzer toplam olarak: i] objectAtIndex: j] objectForKey: @ "Fiyat"] floatValue]; NSLog (@ "% @", subTotal); Bu bana bir (null) konsolda verir. Orada bir dize değeri olduğunu biliyorum. – Slee

+1

@Max, Bu dizeyi basmayı deneyebilir ve buraya yapıştırabilir misiniz? –

+0

: 3399 ve çıktı şu şekilde sona erer: (null) – Slee

15

Bunu yapmanın en uygun yolu = [[[[purchaseOrderItemsJSON objectAtIndex

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; 
numberFormatter.numberStyle = NSNumberFormatterDecimalStyle; 

float value = [numberFormatter numberFromString:@"32.12"].floatValue; 
+4

:-) +1. – Benjohn

İlgili konular