str_R8P Function

private elemental function str_R8P(n, no_sign, compact) result(str)

Convert real to string.

 use penf
 print "(A)", str(n=-1._R8P)
 use penf
 print "(A)", str(n=-1._R8P, no_sign=.true.)
 use penf
 print "(A)", str(n=-1._R8P, compact=.true.)

Arguments

TypeIntentOptionalAttributesName
real(kind=R8P), intent(in) :: n

Real to be converted.

logical, intent(in), optional :: no_sign

Flag for leaving out the sign.

logical, intent(in), optional :: compact

Flag for compacting string encoding.

Return Value character

Returned string containing input number.


Calls

proc~~str_r8p~~CallsGraph proc~str_r8p str_R8P proc~compact_real_string compact_real_string proc~str_r8p->proc~compact_real_string

Called by

proc~~str_r8p~~CalledByGraph proc~str_r8p str_R8P proc~str_a_r8p str_a_R8P proc~str_a_r8p->proc~str_r8p interface~str str interface~str->proc~str_r8p interface~str->proc~str_a_r8p proc~printf printf proc~printf->interface~str proc~bctoi_i8p bctoi_I8P proc~bctoi_i8p->interface~str proc~printf~4 printf proc~printf~4->interface~str proc~printf~2 printf proc~printf~2->interface~str proc~bctoi_i2p bctoi_I2P proc~bctoi_i2p->interface~str program~volatile_doctest~33 volatile_doctest program~volatile_doctest~33->interface~str program~volatile_doctest~229 volatile_doctest program~volatile_doctest~229->interface~str program~volatile_doctest~369 volatile_doctest program~volatile_doctest~369->interface~str program~volatile_doctest~645 volatile_doctest program~volatile_doctest~645->interface~str proc~bctoi_i1p bctoi_I1P proc~bctoi_i1p->interface~str proc~printf~3 printf proc~printf~3->interface~str proc~bctoi_i4p bctoi_I4P proc~bctoi_i4p->interface~str program~volatile_doctest~30 volatile_doctest program~volatile_doctest~30->interface~str program~volatile_doctest~412 volatile_doctest program~volatile_doctest~412->interface~str program~volatile_doctest~512 volatile_doctest program~volatile_doctest~512->interface~str program~volatile_doctest~744 volatile_doctest program~volatile_doctest~744->interface~str interface~bcton bcton interface~bcton->proc~bctoi_i8p interface~bcton->proc~bctoi_i2p interface~bcton->proc~bctoi_i1p interface~bcton->proc~bctoi_i4p

Contents

Source Code


Source Code

   elemental function str_R8P(n, no_sign, compact) result(str)
   !< Convert real to string.
   !<
   !<```fortran
   !< use penf
   !< print "(A)", str(n=-1._R8P)
   !<```
   !=> -0.100000000000000E+001 <<<
   !<
   !<```fortran
   !< use penf
   !< print "(A)", str(n=-1._R8P, no_sign=.true.)
   !<```
   !=> 0.100000000000000E+001 <<<
   !<
   !<```fortran
   !< use penf
   !< print "(A)", str(n=-1._R8P, compact=.true.)
   !<```
   !=> -0.1E+1 <<<
   real(R8P), intent(in)           :: n       !< Real to be converted.
   logical,   intent(in), optional :: no_sign !< Flag for leaving out the sign.
   logical,   intent(in), optional :: compact !< Flag for *compacting* string encoding.
   character(DR8P)                 :: str     !< Returned string containing input number.

   write(str, FR8P) n                ! Casting of n to string.
   if (n>0._R8P) str(1:1)='+'        ! Prefixing plus if n>0.
   if (present(no_sign)) str=str(2:) ! Leaving out the sign.
   if (present(compact)) then
     if (compact) call compact_real_string(string=str)
   endif
   endfunction str_R8P