Convertir une chaîne en un entier en Fortran 90
Je sais que IACHAR(s)
retourne le code pour le caractère ASCII du premier caractère de la position de la chaîne s, mais j'ai besoin de convertir l'ensemble de la chaîne de caractères en un nombre entier. J'ai aussi un petit nombre de chaînes de caractères (autour de 30 chaînes, chacun se compose d'au plus 20 caractères). Est-il possible de convertir chacun d'eux à un unique entier en Fortran 90?
- Convertir l'ensemble de la chaîne selon ASCII ou sous la forme d'un nombre? Devrait "123" résultat en entier 123? Si oui, reportez-vous à stackoverflow.com/questions/1262695/... et stackoverflow.com/questions/13316378/...
- Voir stackoverflow.com/questions/21370190/... et stackoverflow.com/questions/18790805/...
Vous devez vous connecter pour publier un commentaire.
Vous pouvez
read
d'une chaîne dans une variable de type entier:read(str,*,iostat=stat) int
<- c'est la partie importante de la réponse pour les autres comme moi à la recherche de la même chose. Merci Alex. Voici quelques autres exemples: eng-tips.com/viewthread.cfm?qid=4337 & vikas-ke-funde.blogspot.com/2010/06/...Vous pouvez utiliser la méthode read (), ou vous pouvez utiliser faiNumber pour Fortran(faiNumber-Fortran) qui a été écrit par moi à https://github.com/kevinhng86/faiNumber-Fortran. faiNumber-Fortran environ 10x plus rapide que de lire()(testé avec gfortran8 avec la version legacy, f95, f2003, et f2018).
Aussi, si vous utilisez faiNumber-Fortran, vous êtes en garde contre de chaîne non valide "1 abc", "125 7895", et ainsi de suite. Ces formats sont analysables par la lecture procédure () (testé avec gfortran8 avec la version legacy, f95, f2003, et f2018). Où faiNumber va vous informer que la chaîne d'entrée est incorrect.
Pour la version que celle que vous avez deux versions, l'une pour l'utilisation avec de la pure procédures, dont un peu plus lent que la version qui peut seulement être utilisé par les peaux impures procédures.
FaiNumber-Fortran également vous permettre de choisir le début et la fin de votre chaîne. Ce ci-dessous un petit exemple de ce que vous pouvez faire. Il y a beaucoup plus de celui de l'exemple. Néanmoins, j'ai documenté le code très bien(je l'espère). L'exemple est pour la version qui a construit comme un pur procédures de la bibliothèque.