Partage
  • Partager sur Facebook
  • Partager sur Twitter

Convertir une chaine char* en double, int, float...

Une fonction C ou C++ qui ferait ça ?

Sujet résolu
    14 mai 2006 à 14:54:15

    Bonjour !

    Voilà, j'ai un problème (vous vous en serez douté ^^ ), j'ai une chaine char* qui contient des nombres et j'aimerais la "convertir" en double (ou float ou int).

    Par exemple la chaine contient "85.124" et j'aimerais avoir une variable qui contienne 85.124 en nombre ! J'ai beau cherché je n'ai pas trouvé de fonction C ou même C++ qui puisse convertir un char* en double :( !

    Merci à quiconque qui trouverais une réponse ;) !
    • Partager sur Facebook
    • Partager sur Twitter
      14 mai 2006 à 14:57:21

      char* fonction ();
      int fonction();

      Si c'est pour contenir des nombres...
      Si elle contient une chaine de caractère tu ne peux pas transformer en entier ou flotant :)
      • Partager sur Facebook
      • Partager sur Twitter
        14 mai 2006 à 15:07:09

        Merci beaucoup pepe, je teste tou de suite mais à mon avis ça marche ^^

        Je me rappelais bien avoir vu une fonction avec un "to" à une époque :) ! Mais j'ai plus cherché un truc comme chartoint ou stringtodouble, ...

        Enfin bref merci quoi :p !
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          14 mai 2006 à 15:09:32

          <stdlib.h>
          double strtod(const char *nptr, char **endptr);
          nptr pointeur sur la chaîne
          endptr pointeur sur un pointeur qui contiendra l'adresse du premier caractère invalide (mettre à NULL si pas besoin).

          Exemple :
          char s[] = "145.23abc";
          char *end;
          double d;
          d = strtod(s, &end);
          printf("nombre : %lf\n"
                 "premier caractere invalide : %c\n", *end);

          Devrait afficher :
          nombre : 145.23
          premier caractere invalide : a
          • Partager sur Facebook
          • Partager sur Twitter
            14 mai 2006 à 15:32:48

            A je me disai bien qu'un truc comme stringtodouble existait, j'étais pas si loin :lol: !

            Merci quand même louisclem mais pepe a déjà répondu à mon problème, d'ailleurs tout marche nikel ;)
            • Partager sur Facebook
            • Partager sur Twitter

            Convertir une chaine char* en double, int, float...

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown