Comment convertir une chaîne en nombre (double) en Objective-C ?
Pour convertir une chaîne de caractère en nombre, l'utilisation des crochets avec le mot-clé doubleValue convertit en double la variable.
En Objective C, il est nécessaire de convertir une chaîne de caractères en nombre si l'on souhaite le manipuler comme tel. Pour convertir une chaîne de caractère en nombre, l'utilisation des crochets avec le mot-clé doubleValue convertit en double la variable. Exemple de conversion :
double monDouble = [maChaine doubleValue];
Vous pouvez ensuite faire votre traitement mathématique. Si vous souhaitez par exemple arrondir ce nombre à l'entier le plus proche, le calcul peut être fait en ajoutant 0.5 au nombre (ou en lui enlevant 0.5 s'il est négatif), puis en le convertissant en entier grâce au transtypage. On précise pour cela son nouveau type entre parenthèses avant le calcul :
int monEntier = (int)(monDouble + (monDouble>0 ? 0.5 : -0.5));
Une fois les opérations mathématiques terminées, il ne reste plus qu'à transformer le nombre en chaîne de caractères. La méthode stringWithFormat effectue la conversion :
NSString* maNouvelleChaine = [NSString stringWithFormat:@%d, monEntier];
Il est également possible de recourir à la même méthode que l'on a utilisée pour convertir la chaîne de caractères en nombre. La classe NSNumber peut être utilisée avec le mot-clé StringValue pour convertir un entier en chaîne de caractères :
string maNouvelleChaine = [[NSNumber numberWithInt:monEntier] stringValue]