Compute the number of digits in decimal base of the input integer.
use penf
print FI4P, digit(100_I1P)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=I1P), | intent(in) | :: | n |
Input integer. |
Number of digits.
elemental function digit_I1(n) result(digit) !< Compute the number of digits in decimal base of the input integer. !< !<```fortran !< use penf !< print FI4P, digit(100_I1P) !<``` !=> 3 <<< integer(I1P), intent(in) :: n !< Input integer. character(DI1P) :: str !< Returned string containing input number plus padding zeros. integer(I4P) :: digit !< Number of digits. write(str, FI1P) abs(n) ! Casting of n to string. digit = len_trim(adjustl(str)) ! Calculating the digits number of n. endfunction digit_I1