Hi pban92,
I have just found your question. Here is a function for your purpose:
!-------------------------------------------------------------------------------
CHARACTER*20 FUNCTION cIntToChar(iVal) ! Convert one integer value to a leftbound character string
! COPYRIGHT: Dr. Erwin Kruck, Aalen, Germany, 2010
IMPLICIT NONE
INTEGER iVal ! Given integer value
INTEGER iNum ! Local iVal (counted down)
INTEGER iMinus ! = ONE if iVal negative; else ZERO
INTEGER iNull ! Characher value of Zero
INTEGER nDigits ! Number of digits (without minus sign)
INTEGER I, N, M
iNum = ABS(iVal)
iNull = ICHAR('0')
cIntToChar = ' '
iMinus = 0
IF (iVal .LT. 0) THEN
iMinus = 1
cIntToChar(1:1) = '-'
ENDIF
nDigits = MAX (1+INT (LOG10 (FLOAT (MAX (1,iNum)))), 1) ! Number of digits
DO I= 1, nDigits
N = nDigits -I +1 +iMinus
M = iNum / 10
cIntToChar(N:N) = CHAR(iNull + iNum - M * 10)
iNum = M
ENDDO
RETURN
END
!-------------------------------------------------------------------------------
A function for a real value can be developed very similar.
Erwin