IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Objective-C Discussion :

Probleme de conversion string to float


Sujet :

Objective-C

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mai 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Probleme de conversion string to float
    Bonjour ma question est relativement basique et en dépit de mes recherches sur le net je ne trouve pas de réponse.


    Ce que j'aimerais faire :
    - Transformer un string que je récupère d'un texte field en chiffre.
    - Transformer après une opération basique ce chiffre en texte.

    C'est vraiment très basique comme je le disais. Mon problème :
    Lorsque je rentre un chiffre supérieur à 1000 le programme le voit comme 1,000 (syst anglo saxon), mais du coup ce qui est un peu étrange c'est qu'il ne voit plus le chiffre comme 1000 mais comme 1.

    Voici mon code pour une division basique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    float m=[[month stringValue] floatValue];
    float p=[[price stringValue] floatValue];
    float my = p/m;
    monthly.stringValue = [NSString stringWithFormat:@"%.20f",my];
    rep.stringValue = [NSString stringWithFormat:@"%.2f",p];

    Si je rentre 1200 / 300 cela me donne 1,2 / 300 ce qui est un peu problématique.


    Tout aide est la bienvenue.


    Merci

  2. #2
    Membre éclairé

    Homme Profil pro
    Développeur mobile iOS / Android
    Inscrit en
    Décembre 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur mobile iOS / Android
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 259
    Points : 690
    Points
    690
    Par défaut
    Bonjour,

    Lorsque tu récupéres le contenu d'un textField, il est du type NSString.

    Dans le cas où ton textField se nomme textFieldA (oui, c'est trés parlant comme nom mais bon c'est un exemple) tu récupéres son contenu de type NSString comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NSString *contenu = textFieldA.text;
    Et si tu veux convertir le contenu du textField en float :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    float contenu = [textFieldA.text floatValue];
    Voici un exemple qui récupére le contenu de deux textFields pour en faire une division et ensuite afficher le résultat dans un Label (Un peu comme ce que tu veux résaliser):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    float m= [textFieldA.text floatValue];
    float p=[textFieldB.text floatValue];
    float my = m/p;
     
        resultat.text = [NSString stringWithFormat:@"%.20f",my]; //assigne le résultat dans le label
    Je pense que tu dois être capable de corriger ton propre code maintenant, dans le cas contraire n'hésites pas à expliquer plus en détail.

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Mai 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci beaucoup pour votre réponse cela m'a bien aidé.
    Par contre je n'ai pas trouvé l'instance .text dans la class NSTextField mais cela m'a permis de retrouver un peu mes bases et j'ai trouvé la solution à ma problème. Voici mon code actuellement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    float m=[month floatValue];
    float p=[price floatValue];
    float my = p/m;
    monthly.stringValue = [NSString stringWithFormat:@"%.2f",my];
    return;
    Par contre je met return par habitude mais je ne sais plus trop à quoi cela sert.

  4. #4
    Membre éclairé

    Homme Profil pro
    Développeur mobile iOS / Android
    Inscrit en
    Décembre 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur mobile iOS / Android
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 259
    Points : 690
    Points
    690
    Par défaut
    J'ai utilisé UITextField et non NSTextField.

    Tu pourrais expliquer plus en détail dans quel cadre tu travailles ? est ce que tu développes une application iOS ... ?

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Mai 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Oui bien sur et désolé car je me rends compte que j'aurais du le préciser plus clairement dès le début.
    Je travaille sur Xcode 4+ pour des apps Mac. Mais des applications dédiés pour des collaborateurs et j'essaye pour l'instant de remettre un peu les mains dans le camboui car j'ai pas touché une ligne de code depuis dix ans.
    Merci en tout cas pour l'aide.

Discussions similaires

  1. Réponses: 7
    Dernier message: 28/02/2008, 16h56
  2. tentative conversion string vers float
    Par firemax dans le forum C
    Réponses: 10
    Dernier message: 21/08/2007, 17h42
  3. Probleme de conversion String -> Date avec SimpleDateFormat.parse(String)
    Par jeanlouis_lecodeur dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 02/07/2007, 09h18
  4. Conversion string en float
    Par jyerfr dans le forum C#
    Réponses: 5
    Dernier message: 13/06/2007, 09h06
  5. Problème de conversion String en Float avec JTable
    Par dumasan dans le forum Composants
    Réponses: 4
    Dernier message: 23/04/2007, 11h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo