Concaténation NSString [Obj-C]

  • Créateur du sujet Créateur du sujet 6ix
  • Date de début Date de début

6ix

Membre confirmé
12 Juillet 2005
28
0
40
Bonjour,

C'est vraiment tout bête, mais... je n'y arrive pas! Et je n'arrive pas à trouver un exemple tout simple qui pourrait m'aider!

Je voudrais simplement afficher un string, composé de deux éléments obtenus par une méthode, et c'est là mon problème; habitué à Java, j'ai qques difficultés à m'habituer à la syntaxe Obj-C.

En Java, je ferais comme cela:

String s = coutTotal +(coutTotal>1.0 ? "francs": "franc");

Un string qui comprend un float (ou un double), auquel on concatène soit franc, au singulier, soit francs, au pluriel, suivant le nombre d'articles.

Voilà ce que j'ai essayé, mais je me retrouve avec une erreur "incompatible type of initialization":
NSMutableString *t = (@"%f ", coutTotal);
[t appendString: (coutTotal>1 ? @"francs": @"franc")];

N'y a-t-il aucun moyen "simple", comme le + en Java, pour concaténer des NSString?
Merci
 
Bloc de code:
float coutTotal;

...

NSString* coutTotalStr=[NSString stringWithFormat:@"%3.2f %@",coutTotal,(coutTotal>1.0)?@"francs":@"franc"];

NSLog(@"%@",coutTotalStr);
 
Merci! Des petits problèmes sur lesquels on passe bcp de temps... C'est bien quand on a la solution!

Une petite question tout de même: je me demandais pourquoi %3.2f et pas seulement %f, alors j'ai essayé et remarqué une différence de format; mais que signifie vraiment 3.2? Est-ce le "nom" ou "version" du format, tout simplement, ou cela a vraiment un sens? J'ai cherché un peu dans la documentation, mais la seule liste que j'ai trouvée se contente de mentionner les "standards", comme %f, %@ ou %i par exemple...