decToInt128 Subroutine

public pure subroutine decToInt128(input, output, error, startpos, endpos)

Parse the input string as a signed decimal integer string to an int128 value.

This subroutine ignores leading and trailing whitespaces.

This subroutine considers an error to has occurred:
1. If the input string only contains empty spaces.
2. If the input string have a length of zero.
3. If the value for either the startpos or endpos arguments is incorrect.
4. If the input string contains a value that is smaller than the min value of the int128 data type or larger then the max value of the int128 data type.
5. If the input string is not a valid signed decimal integer string.

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: input

A string to be parsed as a signed decimal integer string to an int128 value.

integer(kind=k_int128), intent(out) :: output

An int128 value of the input string if no error has occurred during parsing.

logical, intent(out) :: error

A value of .TRUE. if an error has occurred during parsing, or .FALSE., otherwise.

integer(kind=k_int32), intent(in), optional :: startpos

An int32 value of the position(inclusive) of where to start parsing.

integer(kind=k_int32), intent(in), optional :: endpos

An int32 value of the position(inclusive) of where to end parsing.