2010-07-07 8 views
23

Comment convertir une chaîne en float en Objective-C?Convertir une chaîne pour flotter en Objective-C

Je suis en train de multiplier deux cordes je reviens de JSON:

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

NSLog(@"%@",subTotal); 

Cela me donne: (null) dans la console. Je sais qu'il y a une chaîne valide qui sort de ce tableau parce que je l'utilise déjà pour afficher sa valeur dans une étiquette.

Répondre

64
your_float = [your_string floatValue]; 

EDIT:

essayez ceci:

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

flotteur Sous-total = [[[[purchaseOrderItemsJSON objectAtIndex: i] objectAtIndex: j] objectForKey: @ "Prix"] floatValue]; NSLog (@ "% @", sous-total); Cela me donne un (null) sur la console. Je sais qu'il y a une valeur de chaîne là-dedans. – Slee

+1

@ Max, Pouvez-vous essayer d'imprimer cette chaîne, et le coller ici? –

+0

c'est: 3399 et la sortie finit par être: (null) – Slee

15

La bonne façon de le faire est

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

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

:-) +1 pour essayer de déplacer l'océan. – Benjohn

Questions connexes