Conversion de tableau de chiffre caractère

Résolu
viktorfrankestein Messages postés 13 Statut Membre -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
s'il vous plait j'ai besoin de savoir comment écrire une fonction qui convertit un tableau de chiffre caractères en un tableau de chiffre décimal. merci

5 réponses

  1. VlkPr3s Messages postés 251 Statut Membre 130
     
    Bonjour viktor,

    j'ai feuilleté un peu le web, le peu d'information trouvé te renseigne comment convertir un tableau binaire en décimal. Ou comment convertir un entier en décimal.

    Je pense que dès lors tu remplaces tes types entier et décimal en tableau.

    Bonne recherche !!
    0
  2. Cloturernapasdesensfigure Messages postés 117 Statut Membre 5
     
    Salut, cette fonction existe déjà : atoi
    #include <stdlib.h>
    int atoi(const char *nptr);

    Cela répond à ta question ou tu cherches à réécrire cette fonction ?
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      atoi() est obsolète.
      Pour la conversion, on utilise plutôt strtol().
      0
  3. sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   50
     
    Je suis d'accord sur le principe de la conversion mais attention à son utilisation la fonction renvoie un entier et prend comme argument un pointeur de char si "12345 " est une chaine de caractère alors on aura comme résultat 12345.
    Cependant de mémoire je pense t'avoir déjà répondu sur un autre
    forum :https://www.developpez.net/forums/d1520536/c-cpp/c/conversion-chaine/
    0
    1. Sugel Messages postés 4293 Date d'inscription   Statut Membre Dernière intervention   728
       
      coucou hibou :D
      quoi de neuf ?
      0
    2. sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   50
       
      Hibou ?? j'ai pas compris -_O !
      à bientôt
      0
  4. Sugel Messages postés 4293 Date d'inscription   Statut Membre Dernière intervention   728
     
    Utilise tout simplement la table ascii :
    https://upload.wikimedia.org/wikipedia/commons/1/1b/ASCII-Table-wide.svg
    '0' == 48
    '9' == 57

    Il te suffit donc de soustraire 48 à chacune des cases de ton tableau pour obtenir la valeur décimale correspondante.

    N'oublie pas de créer une fonction vérifiant que le nombre est bien décimal avant d'effectuer la soustraction, où il y aura un risque de dépassement d'entier.
    0
    1. sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   50
       
      Sinon
      '0'- '0' = 0
      '1' - '0' = 1
       *(ptr_int+i) = *(ptr_str+i) - '0' 

      à bientôt
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonjour,

    Juste pour être sûr de bien comprendre... Quelle est la différence avec ta demande antérieure : https://forums.commentcamarche.net/forum/affich-31986326-conversion-de-chaine#p31988023

    Peux-tu donner un exemple ?

    Cdlt,
    0