This module, fnDecimalUtil64
contains procedures for working with decimal strings and the int64 data type.
Note
Unless stated otherwise, procedures of this module are pure procedures.
Uses
Functions
public pure function decInt64OrSmaller(firstString, secondString) result(int32Out)
- Author
- Khang Hoang Nguyen
- Since
- 1.0.0.f
Compare two strings bases on the content of the strings reference to int64 values. If the strings are valid signed decimal integer strings that can be parsed to int64 values then they will be compared base on their int64 values. Otherwise, the strings will be compared base on the priority ranking order below.
Arguments
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | firstString | A string to be compared to the string | ||
character(len=*), | intent(in) | :: | secondString | A string to be compared to the string |
Return Value integer(kind=k_int32)
Subroutines
public pure subroutine decToInt64(input, output, error, startpos, endpos)
- Author
- Khang Hoang Nguyen
- Since
- 1.0.0.f
Parse the input
string as a signed decimal integer string to an int64 value.
Arguments
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | input | A string to be parsed as a signed decimal integer string to an int64 value. | ||
integer(kind=k_int64), | intent(out) | :: | output | An int64 value of the | ||
logical, | intent(out) | :: | error | A value of | ||
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. |
public pure subroutine decToInt64TrueError(input, output, error, startpos, endpos)
- Author
- Khang Hoang Nguyen
- Since
- 1.0.0.f
Parse the input
string as a signed decimal integer string to an int64 value.
Arguments
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | input | A string to be parsed as a signed decimal integer string to an int64 value. | ||
integer(kind=k_int64), | intent(out) | :: | output | An int64 value of the | ||
integer(kind=k_int32), | intent(out) | :: | error | An int32 value of 0 on successful parse cases or a true error code on unsuccessful parse cases. | ||
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. |
public pure subroutine decCompareAsInt64(firstString, secondString, output, error)
- Author
- Khang Hoang Nguyen
- Since
- 1.0.0.f
Compare two strings as signed decimal integer strings by parsing them to int64 values first.
Arguments
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | firstString | A string to be compared to the string | ||
character(len=*), | intent(in) | :: | secondString | A string to be compared to the string | ||
integer(kind=k_int32), | intent(out) | :: | output | An int32 value of 1 if the | ||
logical, | intent(out) | :: | error | A value of |