Fonctions de conversion

new art 9



Conversions numériques


int (a [, kind])

conversion en entier catégorie: D arguments: i/r/z [,i] résultat: i

Renvoie le résultat de la conversion de la valeur de a en entier.
On obtient un entier standard si kind n'est pas précisé ou un entier de sous-type kind si le paramètre optionnel kind est spécifié.
L'argument a est une expression numérique de sous-type quelconque.
Si a est entier, le résultat est égal à a. Si a est réel, le résultat est égal à la "troncature" de a ( c'est à dire aint (a) ).
Si a est complexe, le résultat est égal à la troncature de la partie réelle de a.


real (a [, kind])

conversion en réel catégorie: D arguments: i/r/z [,i] résultat: r

Renvoie le résultat de la conversion de la valeur de a en réel.
L'argument a est une expression numérique de sous-type quelconque.
On obtient un réel de variante kind si ce paramètre est spécifié. Dans le cas contraire, en absence de kind, le résultat est réel standard si l'argument a est entier, ou le résultat est de la même variante que a, si l'argument a est réel ou complexe.


Exemples:

int (-9) vaut -9
int (-9.5) vaut -9
int ( (-3.5, -6.5) ) vaut -3
real( -9 ) vaut -9.0
real ( -9.5 ) vaut -9.5
real ( (-3.5, -6.5) ) vaut -3.5



Conversions entre entiers et caractéres


achar (i)

caractère ASCII catégorie: D arguments: i résultat: c

Renvoie une chaîne de caractères de longueur 1 correspondant au caractère de code ASCII numéro i (entier). Si i est en dehors de l'intervalle [0-127], le résultat dépend de la machine. Cette fonction permet aussi d'accéder aux caractères ASCII non imprimables. La fonction inverse est iachar.


char (i [, kind])

caractère "natif" catégorie: D arguments: i [,i] résultat: c

Renvoie une chaîne de caractères de longueur 1, correspondant au caractère de code i (entier) dans le jeu de caractère spécifié par kind (expression constante entière).
Cette fonction permet d'utiliser un jeu de caractères natif de l'ordinateur sur lequel le programme s'exécute.
Si kind est absent, on obtient le caractère dans le jeu de caractère standard.
La fonction inverse est ichar.


iachar (c)

no du code ASCII d'un caractère catégorie: D arguments: c résultat: i

Renvoie l'entier standard correspondant au code ASCII du caractère c (chaîne de longueur 1).
C'est la fonction inverse de achar(i).


ichar (c)

no du code "natif" d'un caractère catégorie: D arguments: c résultat: i

Renvoie l'entier standard correspondant au code du caractère c (chaîne de longueur 1, de kind quelconque) dans la variante correspondant à celle du type de c.
La fonction inverse est char.


Exemples:

character(*), parameter :: beep = achar(7) ! le caractère beep envoyé vers
! l'écran déclenche une sonnerie
iachar(beep) vaut 7
iachar("J") vaut 74
iachar("%") vaut 37
achar(109) vaut "m"
achar(35) vaut "#"
char(64) vaut espace sur un ordinateur impléméntant les caractères selon le code EBCDIC



Conversions entre les sous-types logiques


logical (l [, kind])

conversion entre types logical catégorie: D arguments: l [,i] résultat: l

Renvoie une valeur de type logique, de variante kind (expression constante entière) égale à la valeur l de sous-type logique quelconque.
Si le paramètre kind n'est pas précisé, on obtient le résultat logique de type standard.
Cette fonction permet de maîtriser l'emplacement utilisée par la machine pour représenter des variables logiques, si les variantes du type logical existent.


Exemples:

logical(.true.) vaut .true.

Retour à la table des matières