Formater un float en NSString

UniXUniX Membre
11:33 modifié dans API AppKit #1
Salut.

Je n'arrive pas à  formater un float en NSString de la façon suivante :
float 4.2541  --> NSString 04

J'ai essayé :
[NSString stringWithFormat:@"%2.0f",monFloat]


Il faut goupiller ça comment ?

Réponses

  • MalaMala Membre, Modérateur
    11:33 modifié #2

    Je pense que c'est ça que tu veux...
    <br />[NSString stringWithFormat:@&quot;%02.f&quot;,monFloat]<br />
    
  • odjauodjau Membre
    11:33 modifié #3
    Dans ce poste il y avait la réponse suivante à  une question assez proche de la tienne


    dans 1098221721:

    A partir  du float 234,45, multiplié par 100 --> 23445

    En utilisant la méthode
    stringWithFormat:@%016d,23445;
    On obtient : 0000000000023445

    Enfin, chez moi ça marche :-\
  • AliGatorAliGator Membre, Modérateur
    11:33 modifié #4
    dans 1133437058:

    Salut.

    Je n'arrive pas à  formater un float en NSString de la façon suivante :
    float 4.2541  --> NSString 04

    J'ai essayé :
    [NSString stringWithFormat:@&quot;%2.0f&quot;,monFloat]
    


    Il faut goupiller ça comment ?
    Que veux-tu exactement ? la partie entière de ton float, sur 2 chiffres exactement (avec des zéro au début pour compléter) ?

    Voila l'astuce pour une chaà®ne de formattage du type "%AB.Cf" (où A est un caractère, B,C des nombres) :
    • A : peut être omis (valeur par défaut = caractère espace). Il précise le caractère utilisé pour remplir les espaces vides, pour atteindre le bon compte de chiffres. Généralement c'est soit un espace soit le chiffre zéro.
    • B : nombre de caractères minimum que le nombre formatté devra faire. C'est à  dire le nombre de chiffres pour un nombre entier, ou {nombre de chiffres avant la virgule + 1 (place du ".") + nombre de chiffres après la virgule} dans le cas où tu as des chiffres après la virgule (C>0).
    • C : nombre de chiffres à  afficher après la virgule.

    Si la partie entière du nombre n'est pas assez grande pour que la largeur de la chaà®ne formattée fasse B caractères, il complète avec le caractère A à  gauche.

    Exemple pour le nombre 4.125 (format --> affichage) :
    %2.0f --> " 4" (note l'espace avant le 4 pour que la largeur de la chaà®ne fasse minimum 2)
    %2.1f --> "4.1" (note que là  la chaà®ne fait 3 caractères, on a demandé qu'elle fasse minimum 2 mais en ayant 1 chiffre après la virgule ce minimum est dépassé)
    %3.1f --> "4.1" (pareil qu'au dessus : on a bien une chaà®ne de 3 caractères minimum avec 1 chiffre après la virgule)
    %4.1f --> " 4.1" (il a complété avec un espace avant pour que ça fasse le minimum de 4 caractères)
    %04.1f --> "04.1" (chaà®ne de 4 caractères au total, 1 chiffre après la virgule, compléter les blancs avec des zéros)
    %04.0f ---> "0004" (chaà®ne de 4 caractères sans chiffre après la virgule)

    Je te laisse conclure la chaà®ne de format que tu dois utiliser pour ton cas ;)
  • UniXUniX Membre
    11:33 modifié #5
    Super, merci.

    J'ai lu un article sur OC intitulé "NSString : apprendre à  formater". Je pense que le petit cours d'AliGator mérite largement d'y être intégré .... A modifier donc.
  • odjauodjau Membre
    11:33 modifié #6
    dans 1133444592:

    Je pense que le petit cours d'AliGator mérite largement d'y être intégré .... A modifier donc.

    C'est clair  ::) ;)
Connectez-vous ou Inscrivez-vous pour répondre.