str_I2P Function

private elemental function str_I2P(n, no_sign) result(str)

Arguments

TypeIntentOptionalAttributesName
integer(kind=I2P), intent(in) :: n
logical, intent(in), optional :: no_sign

Return Value character


Called by

proc~~str_i2p~7~~CalledByGraph proc~str_i2p~7 str_I2P proc~str_a_i2p~7 str_a_I2P proc~str_a_i2p~7->proc~str_i2p~7 interface~str~7 str interface~str~7->proc~str_i2p~7 interface~str~7->proc~str_a_i2p~7 proc~bctoi_i8p~7 bctoi_I8P proc~bctoi_i8p~7->interface~str~7 proc~bctoi_i1p~7 bctoi_I1P proc~bctoi_i1p~7->interface~str~7 proc~bctoi_i2p~7 bctoi_I2P proc~bctoi_i2p~7->interface~str~7 proc~bctoi_i4p~7 bctoi_I4P proc~bctoi_i4p~7->interface~str~7 interface~bcton~7 bcton interface~bcton~7->proc~bctoi_i8p~7 interface~bcton~7->proc~bctoi_i1p~7 interface~bcton~7->proc~bctoi_i2p~7 interface~bcton~7->proc~bctoi_i4p~7

Contents

Source Code


Source Code

   elemental function str_I2P(n, no_sign) result(str)
   !< Convert integer to string.
   !<
   !<```fortran
   !< use penf
   !< print "(A)", str(n=-1_I2P)
   !<```
   !=> -1 <<<
   !<
   !<```fortran
   !< use penf
   !< print "(A)", str(n=-1_I2P, no_sign=.true.)
   !<```
   !=> 1 <<<
   integer(I2P), intent(in)           :: n       !< Integer to be converted.
   logical,      intent(in), optional :: no_sign !< Flag for leaving out the sign.
   character(DI2P)                    :: str     !< Returned string containing input number plus padding zeros.

   write(str, FI2P) n                ! Casting of n to string.
   str = adjustl(trim(str))          ! Removing white spaces.
   if (n>=0_I2P) str='+'//trim(str)  ! Prefixing plus if n>0.
   if (present(no_sign)) str=str(2:) ! Leaving out the sign.
   endfunction str_I2P