8.143 ICHAR — Character-to-integer conversion function


ICHAR(C) returns the code for the character in the first character position of C in the system’s native character set. The correspondence between characters and their codes is not necessarily the same across different GNU Fortran implementations.


Fortran 77 and later, with KIND argument Fortran 2003 and later


Elemental function



CShall be a scalar CHARACTER, with INTENT(IN)
KIND(Optional) A scalar INTEGER constant expression indicating the kind parameter of the result.
Return value:

The return value is of type INTEGER and of kind KIND. If KIND is absent, the return value is of default integer kind.

program test_ichar
  integer i
  i = ichar(' ')
end program test_ichar
Specific names:
NameArgumentReturn typeStandard
ICHAR(C)CHARACTER CINTEGER(4)Fortran 77 and later

No intrinsic exists to convert between a numeric value and a formatted character string representation – for instance, given the CHARACTER value '154', obtaining an INTEGER or REAL value with the value 154, or vice versa. Instead, this functionality is provided by internal-file I/O, as in the following example:

program read_val
  integer value
  character(len=10) string, string2
  string = '154'
  ! Convert a string to a numeric value
  read (string,'(I10)') value
  print *, value
  ! Convert a value to a formatted string
  write (string2,'(I10)') value
  print *, string2
end program read_val
See also:

ACHAR — Character in ASCII collating sequence,
CHAR — Character conversion function,
IACHAR — Code in ASCII collating sequence