[updated 6.Dec.1996]
SUBROUTINE ENCLER (NOMBRE,IMAGE)
Auteur : D.Martin (Fev.88)
Derniere modification (D.Martin) le 6 Decembre 1996
Representer le nombre NOMBRE sous forme d'une chaine de caracteres .
Si NOMBRE est trop grand pour etre represente (longueur de IMAGE trop
petite) IMAGE est rempli de + ou de - selon le signe de NOMBRE .
INTEGER NOMBRE
CHARACTER*(*) IMAGE
INTEGER LONMAX,IPUIS,NEWNB,I,IPOS,J,ICONE
LONMAX=LEN (IMAGE)
IMAGE=' '
IF (NOMBRE.LT.0) LONMAX=LONMAX-1
IPUIS=1
NEWNB=ABS (NOMBRE)
Recherche de la plus petite puissance de 10 superieure a NOMBRE
DO 1 I=1,LONMAX
IPUIS=10*IPUIS
IF (NEWNB.LT.IPUIS) GOTO 5
1 CONTINUE
Cas ou le nombre ne peut etre represente dans la chaine IMAGE :
IF (NOMBRE.GT.0) THEN
DO 2 I=1,LONMAX
IMAGE(I:I)='+'
2 CONTINUE
ELSE
DO 3 I=1,LONMAX+1
IMAGE(I:I)='-'
3 CONTINUE
ENDIF
RETURN
5 IPOS=LONMAX-I
IF (NOMBRE.LT.0) THEN
IPOS=IPOS+1
IMAGE(IPOS:IPOS)='-'
ENDIF
DO 6 J=1,I
IPOS=IPOS+1
IPUIS=IPUIS/10
ICONE=NEWNB/IPUIS
IMAGE(IPOS:IPOS)=CHAR(ICONE+48)
NEWNB=NEWNB-ICONE*IPUIS
6 CONTINUE
END !Encler
encler est appelé dans (161 procédures)