Quel serait le résultat attendu du code Objective C suivant? Je pensais que la valeur de la chaîne serait "+01", il s'avère être "+1". D'une certaine manière, "0" dans la chaîne de format "+01" est ignoré. Changez le code en:Résultat inattendu de "stringWithFormat:"
int intValue = 1;
NSString *string = [NSString stringWithFormat:@"%02d", intValue];
la valeur de la chaîne est maintenant "01". Il génère le "0" principal. Toutefois, si intValue est négative, comme dans:
int intValue = -1;
NSString *string = [NSString stringWithFormat:@"%02d", intValue];
la valeur de chaîne devient "-1", pas "-01".
Ai-je raté quelque chose? Ou est-ce un problème connu? Quelle serait la solution de contournement recommandée? Merci d'avance.
Je soupçonne que le numéro indique la largeur du champ, y compris le signe, pas le nombre de chiffres. –
@Mark, vous avez raison. Merci. –
@Mark Byers, +1 pour le commentaire! Vous avez raison à ce sujet! – EmptyStack