The fnDecimalUtil
namespace is a namespace that provides functions for converting decimal integer numbers in string representation to values of type number
.
This namespace is exactly the same as fnBase10Util namespace. Both namespaces have the exact same functions and use the same code.
To use this API alone by itself, include DecimalUtil.js. Otherwise, include faiNumber-include-all.js.
This namespace API provides the function toNumberAsUnsigned that can parse unsigned decimal numbers to values of type number. Unsigned parsing can be used for cases were it is known that the value or pool of values do not contain signs, or for value(s) that shouldn't be negative(without the positive sign). For parsing values that are signed use toNumber.
This namespace API also provides functions for comparing strings pertain to the mathematical aspect. The compareAsNumber of this namespace API can compare strings by their actual number values when the strings are valid strings of signed decimal integer number that can be parsed to type number values.
Strings can also be compared using the numberOrSmaller method, of which compares the strings bases on their content reference to number values.
- Since:
- 1.0.0.f
- Source:
Members
(static) fileversion
- Source:
Methods
(static) compareAsNumber(firstNumber, secondNumber) → {string|undefined}
Compare two strings as signed decimal integer numbers by parsing them to type number values first.
Take note that comparing strings with values larger than Number.MAX_SAFE_INTEGER or smaller than Number.MIN_SAFE_INTEGER will yield an undefined value.
This function does not throw errors. However, the toNumber function uses by this function throws errors.
- Since:
- 1.0.0.f
- Source:
- See:
Parameters: | ||
---|---|---|
Name | Type | Description |
firstNumber | string | A string to be compared to the string secondNumber . |
secondNumber | string | A string to be compared to the string firstNumber . |
Returns: | |
---|---|
Type | Description |
string | A value of 1 if the firstNumber string is larger than the secondNumber string, 0 if they are both equal, or -1 if the firstNumber string is smaller than the secondNumber string. |
undefined | If parsing either one of the input strings yielded an undefined value, an undefined value is returned. |
(static) numberOrSmaller(firstNumber, secondNumber) → {number}
Compare two strings bases on the content of the strings reference to values of type number. If the strings are valid strings of signed decimal integer number that can be parsed to type number values then they will be compared base on their number values. Otherwise, the strings will be compared base on the priority ranking order below.
Take note that this method treats strings with values larger than Number.MAX_SAFE_INTEGER or smaller than Number.MIN_SAFE_INTEGER as undefined.
This function does not throw any error. However, the toNumber ultilizes by this function throws error.
Priority order ranking: (lo - hi)
0 - Undefined(NaN/Not a safe value)
1 - Empty strings
2 - Valid number values in range of MIN_SAFE_INTEGER and MAX_SAFE_INTEGER
- Since:
- 1.0.0.f
- Source:
- See:
Parameters: | ||
---|---|---|
Name | Type | Description |
firstNumber | string | A string to be compared to the string secondNumber . |
secondNumber | string | A string to be compared to the string firstNumber . |
Returns: | |
---|---|
Type | Description |
number | A value of 1 if the firstNumber string is larger than the secondNumber string, 0 if they are both equal, or -1 if the firstNumber string is smaller than the secondNumber string. |
(static) toNumber(input) → {number|undefined}
- Since:
- 1.0.0.f
- Source:
Parameters: | ||
---|---|---|
Name | Type | Description |
input | string | A string to be parsed as a signed decimal integer number to a value of type number. |
Throws: | |
---|---|
Type | Description |
string | "Not a string" if the input is not of string type. |
Returns: | |
---|---|
Type | Description |
number | A value of the input string if the input string is a valid string of signed decimal integer number. |
undefined | A value of undefined is returned if the Parsing a value that is larger than the value of Number.MAX_SAFE_INTEGER(9007199254740991), or smaller than the value of Number.MIN_SAFE_INTEGER(-9007199254740991) will yield an undefined value. |
(static) toNumberAsUnsigned(input) → {number|undefined}
- Since:
- 1.0.0.f
- Source:
Parameters: | ||
---|---|---|
Name | Type | Description |
input | string | A string to be parsed as an unsigned decimal integer number to a value of type number. |
Throws: | |
---|---|
Type | Description |
string | "Not a string" if the input is not of string type. |
Returns: | |
---|---|
Type | Description |
number | A value of type number of the input string if the input string is a valid string of unsigned decimal integer number. |
undefined | A value of undefined is returned if the Parsing a value that is larger than the value of Number.MAX_SAFE_INTEGER(9007199254740991) will yield an undefined value. |