2010-07-07 11 views
23

Wie konvertiere ich eine Zeichenfolge in Float in Objective-C?Konvertieren von Zeichenfolge in Float in Objective-C

Ich versuche, ein paar Saiten zu multiplizieren Ich bin zurück von JSON bekommen:

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

NSLog(@"%@",subTotal); 

Das gibt mir: (null) in der Konsole. Ich weiß, dass eine gültige Zeichenfolge aus dem Array kommt, weil ich sie bereits verwende, um ihren Wert in einem Label anzuzeigen.

Antwort

64
your_float = [your_string floatValue]; 

EDIT:

try this:

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

float Teilsumme = [[[[purchaseOrderItemsJSON objectAtIndex: i] objectAtIndex: j] objectForKey: @ "Preis"] floatValue]; NSLog (@ "% @", subTotal); Das gibt mir eine (Null) auf der Konsole. Ich weiß, dass dort ein Zeichenfolgenwert ist. – Slee

+1

@Max, Können Sie versuchen, diese Zeichenfolge zu drucken, und fügen Sie sie hier ein? –

+0

ist es: 3399 und die Ausgabe endet sein: (null) – Slee

15

Der richtige Weg, dies zu tun, ist

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

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

:-) +1 für den Versuch, den Ozean zu bewegen. – Benjohn

Verwandte Themen