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

Fortran Discussion :

Conversion Integer en caractères


Sujet :

Fortran

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Conversion Integer en caractères
    Bonjour,

    Je cherche à convertir une variable entière en sa chaine de caractère équivlente. exemple: i étant un entier, disons i=153 par ex., je voudrais convertir ça en '153'. en VB je ferai str$(153), y'a-t-il un équivalent en Fortran ?

    Le but c'est de donner des noms de fichiers différents en fonction de cet indice i.

    j'ai bien réussi en utilisant CHAR() et la table ASCII ( CHAR(1 +48 ) = '1' ), mais ça ne marchera pas avec des nombres à 2 chiffres ou plus.

    Merci pour votre aide,
    Benoit

  2. #2
    Futur Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    En fait, la meilleur façon de générer des noms de fichiers dépendant d'un indice i est d'utiliser l'expression write pour les créer.
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      character(len=80) FileName
      write(FileName,'(A,I3.3,A)') 'GenericName',i,'.ext'
    ce qui générera des fichiers du type:
    GenericName001.ext
    GenericName002.ext
    ...
    ce qui permet de créer 999 fichiers. Si cela n'est pas suffisant, tu peux toujours remplacer le format I3.3 par I4.4.

    Bonne chance.

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci bien !!

    Je n'avais jamais pensé à utiliser write() pour écrire dans une chaine de caractère en fait !

    et ça résoud complètement mon problème.

    Allez, je retourne aux joies du Fortran.

    Benoit

  4. #4
    Futur Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    En fait c'est assez pratique et on y pense pas toujours la première fois que l'on est confronté a ce problème. Dans le même esprit, il est possible de lire des données à partir d'une chaine de caractères (très utile lorsque l'on souhaite décoder une ligne de données mais que l'on ne connait pas forcément sa longueur.
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      character(len=256) Line
     
      open(Unit=IUL,File=.....)
     
      read(IUL, '(A)') Line
      read(Line,*) x, y, z t, ....
    Cela peut être bien plus compliqué, notamment si l'on décide d'analyser le contenu de la chaine avant traîtement....
    ..

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

Discussions similaires

  1. Conversion integer en date
    Par claireenes dans le forum Général Python
    Réponses: 4
    Dernier message: 06/06/2006, 16h58
  2. Conversion Integer -> byte[]
    Par La Truffe dans le forum Langage
    Réponses: 5
    Dernier message: 05/06/2006, 18h30
  3. Conversion chaine de caract -> flottant
    Par Blackmouse dans le forum C
    Réponses: 7
    Dernier message: 19/04/2006, 10h34
  4. Conversion Integer en ntext
    Par NicoNGRI dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/01/2006, 10h10
  5. [CONVERSION] Integer to Word ?
    Par ulysse66x dans le forum Langage
    Réponses: 5
    Dernier message: 14/06/2003, 20h38

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