************************************************************************
*
* Routine name: ITOS
************************************************************************
*
* Description:
*
* THIS FUNCTION TRANSLATE INTEGER NUMBER TO STRING
*
* Argument:
*
* NUM INTEGER*4 IN - THE NUMBER TO TRANSLATE
* LENGTH INTEGER*4 IN - THE EXPECTED LENGTH OF THE TRANSLATED
* STRING
*
* return status:
*
* CHARACTER*(*) - THE TRANSLATED STRING
*
************************************************************************
CHARACTER*(*) FUNCTION ITOS(NUM,LENGTH,BLANKS)
IMPLICIT NONE
******************** D E F I N I T I O N S ******************
integer*4 num,
1 length
logical blanks
integer*4 i,
1 int
character*80 str
logical put_zero
intrinsic mod,
1 char,
1 ichar
******************** P R O C E D U R E ******************
put_zero = .true.
if (%loc(blanks) .ne. 0) put_zero = .not. blanks
str = ' '
int = num
do i=0,length-1
str(length-i:length-i) = char(mod(int,10)+ichar('0'))
int = int / 10
if ((.not. put_zero) .and. (int .eq. 0)) goto 10
enddo
10 continue
if (str .eq. ' ') str(length:length) = '0'
itos = str(1:length)
END