You can read string into an integer variable:
module str2int_mod contains elemental subroutine str2int(str,int,stat) implicit none ! Arguments character(len=*),intent(in) :: str integer,intent(out) :: int integer,intent(out) :: stat read(str,*,iostat=stat) int end subroutine str2int end module program test use str2int_mod character(len=20) :: str(3) integer :: int(3), stat(3) str(1) = '123' ! Valid integer str(2) = '-1' ! Also valid str(3) = 'one' ! invalid call str2int(str,int,stat) do i=1,3 if ( stat(i) == 0 ) then print *,i,int(i) else print *,'Conversion of string ',i,' failed!' endif enddo end program
source share