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

Bibliothèque standard C Discussion :

Problème de conversion avec atol


Sujet :

Bibliothèque standard C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut Problème de conversion avec atol
    Salut tout le monde,

    J'appelle une fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TabBonus_Ajouter(atol(ValeurBonus));
    ValeurBonus est un string transformé en long.

    Le prototype de la fonction qui reçoit le long :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TabBonus_Ajouter(long ValeurBonus)
    je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("la valeur de son bonus est de %lg :\n,ValeurBonus");
    Au lieu d'obtenir 4 (que je vois en mettant le curseur de la souris sur la variable ValeurBonus) j'obtiens 5.2773e317.

    Même problème si je change atol en atoi et que j'envoie un entier au lieu d'un long.

    Sauriez-vous me dire comment résoudre ce problème ?

    Merci d'avance.
    beegees

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 943
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 943
    Par défaut
    Déjà en n'utilisant pas atol qui est "dépréciée" mais en utilisant strtol.
    Au fait, "ValeurBonus est un string transformé en long" ne veut rien dire ValeurBonus est une chaîne de caractère, atol étudie cette chaîne et renvoie un long.
    Enfin pour les long c'est lu ou ld, lg c'est pour les flottants.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Bonjour Trap D,

    Merci pour ta réponse.

    J'ai essayé avec un strtol mais ça ne fonctionne pas avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    if ( (GradeTrouve != NULL) && (strcmp(GradeTrouve,RangOfficier) == 0) )
    					{
    					printf("---------------------------------------------------------\n\n");	
    					TabBonus_Ajouter(Vaisseaux, strtol(ValeurBonus,NULL,10),Vaisseau);
     
    					}
    		}
    	}
     
     
     
    }
     
    void	TabBonus_Ajouter(TTabVaisseaux& Vaisseaux, long ValeurBonus,TVaisseau& Vaisseau)
    {
    	printf("la valeur de son bonus est de %ld :\n,ValeurBonus");
     
     
    }
    Ne serait-ce pas par ce que je passe un char* (char pointer) ?

    Merci d'avance.

    beegees

  4. #4
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 943
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 943
    Par défaut
    Tu as vu la position de tes guillemets ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("la valeur de son bonus est de %ld :\n,ValeurBonus");
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  5. #5
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par Trap D Voir le message
    Tu as vu la position de tes guillemets ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("la valeur de son bonus est de %ld :\n,ValeurBonus");

    ça s'est la fatigue, je prépare mon examen de ce soir depuis quelques semaines

    Merci

    et à plus.

    beegees

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème de conversion avec dateadd
    Par Bourezak dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/01/2008, 14h16
  2. Problème de conversion avec html_entity_decode
    Par calahaan dans le forum Langage
    Réponses: 1
    Dernier message: 04/03/2007, 10h33
  3. Réponses: 2
    Dernier message: 15/02/2007, 21h25
  4. Problème de conversion avec MSFlexGrid
    Par philippef dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 16/08/2006, 19h08
  5. Problème de conversion avec CONVERT
    Par gowser dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 13/12/2005, 17h48

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