lpad(3f) - [M_strings:LENGTH] convert to a cropped string and then
blank-pad on the left to requested length
(LICENSE:PD)
function lpad(valuein,length) result(strout)
class*,intent(in) :: valuein(..)
integer,intent(in) :: length
lpad(3f) converts a scalar value to a cropped string and then pads
it on the left with spaces to at least the specified length. If
the trimmed input is longer than the requested length the string is
returned trimmed of leading and trailing spaces.
str The input may be scalar or a vector.
the input value to return as a string, padded on the left to
the specified length if shorter than length. The input may be
any intrinsic scalar which is converted to a cropped string
much as if written with list-directed output.
length The minimum string length to return
strout The input string padded to the requested length
on the left with spaces.
Sample Program:
program demo_lpad
use M_strings, only : lpad
implicit none
write(*,'("[",a,"]")') lpad( 'my string', 20)
write(*,'("[",a,"]")') lpad( 'my string ', 20)
write(*,'("[",a,"]")') lpad( ' my string', 20)
write(*,'("[",a,"]")') lpad( ' my string ', 20)
write(*,'("[",a,"]")') lpad( valuein=42 , length=7)
write(*,'("[",a,"]")') lpad( valuein=1.0/9.0 , length=20)
end program demo_lpad
Results:
> [ my string]
> [ my string]
> [ my string]
> [ my string]
> [ 42]
> [ 0.111111112]
John S. Urban
Public Domain
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(*), | intent(in) | :: | valuein | |||
integer, | intent(in), | optional | :: | length |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(*), | intent(in) | :: | valuein(:) | |||
integer, | intent(in), | optional | :: | length |