Predicate function - Number

The number functions are used for validating numeric values, ranges, comparisons, and mathematical properties.

  • All functions support automatic type coercion where applicable.

  • String inputs may contain culture‑specific numeric formats, including:

    • Thousand separators (,, ., or space)
    • Decimal separators (. or ,)
    • Currency symbols ($, €, £, ¥, ₹, …)
    • Percentage symbol (%)
    • Accounting negatives ((123.45))

  • Invalid parsing always results in false, unless explicitly noted.

Function

Description

Example

IsNumber(value) Returns true if the value can be parsed into a finite number.

  • 123 is true

  • "1,234.56" is true

  • "€1.234,56" is true

  • "abc" is false

  • Infinity is false

IsNotNumber(value) Returns true if the value cannot be parsed as a finite number.

  • "abc" is true

  • null is true

  • "$1,234.56" is false

  • "50%" is false

IsNaN(value) Returns true if the value is Not-a-Number (NaN) or cannot be parsed into a number.

  • NaN is true

  • "abc" is true

  • "123" is false

  • null is false

IsFinite(value) Returns true if the value is a finite number (not NaN, Infinity, or -Infinity).

  • 123 is true

  • 1.7976931348623157e+308 is true

  • Infinity is false

  • undefined is false

IsInfinite(value) Returns true if the value is Infinity or -Infinity.

  • Infinity is true

  • "-Infinity" is true

  • 1.0 / 0.0 (result) is true

  • "abc" is false

  • Number.MAX_VALUE is false

IsInteger(value) Returns true if the value is an integer (whole number without decimals).

  • 123 is true

  • "€999" is true

  • 0.1 is false

  • "50%" is true

IsDecimal(value) Returns true if the value is a decimal number.

  • 3.14159 is true

  • "10.5" is true

  • "abc" is false

  • NaN is false

IsFloat(value) Returns true if the value is a floating-point number.

  • 123.45 is true

  • "1.5e10" is true

  • Infinity is false

  • " " is false

IsDouble(value) Returns true if the value is a valid double-precision floating-point number.

  • 1.7976931348623157e+308 is true

  • "1.5e100 is true

  • Infinity is false

  • "abc" is false

IsShort(value) Returns true if the value is a 16-bit integer (-32,768 to 32,767).

  • -100 is true

  • 0 is true

  • 32768 is false

  • null is false

IsLong(value) Returns true if the value is a long integer (64-bit signed integer: -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807).

  • 9007199254740991 is true

  • 0 is true

  • 123.45 is false

  • NaN is false

IsByte(value) Returns true if the value is a byte (unsigned 8-bit integer: 0 to 255).

  • "255" is true

  • 0 is true

  • -1 is false

  • "abc" is false

IsWholeNumber(value) Returns true if the value is a whole number (non-negative integer: 0, 1, 2, 3, ...).

  • 0 is true

  • "€999" is true

  • -1 is false

  • "(100)" is false

IsCurrency(value) Returns true if the value is a valid currency amount (numeric value with 0-4 decimal places).

  • "$1,234.56" is true

  • "¥1000" is true

  • "$99.99999" is false

  • "$" is false

IsPercentage(value) Returns true if the value is numeric and may optionally include a % symbol.

  • "50%" is true

  • "-10" is true

  • "1,234.5%" is true

  • "%" is false

  • Infinity is false

IsPositive(value) Returns true if the number is positive (greater than zero).

  • 1 is true

  • Infinity is true

  • 0 is false

  • "-50%" is false

IsNegative(value) Returns true if the number is negative (less than zero).

  • -123 is true

  • "($1,234.56)" is true

  • 0 is false

  • Infinity is false

IsZero(value) Returns true if the number equals zero.

  • 0.0 is true

  • "0%" is true

  • 0.1 is false

  • null is false

IsGreaterThanZero(value) Returns true if the number is greater than zero (positive).

  • 1 is true

  • Infinity is true

  • 0 is false

  • "-50%" is false

IsOdd(value) Returns true if the number is an odd integer (not divisible by 2).

  • "5" is true

  • "$1,001" is true

  • 4 is false

  • 123.45 is false

IsEven(value) Returns true if the number is an even integer (divisible by 2).

  • "4" is true

  • -6 is true

  • 3 is false

  • 123.45 is false

IsPrime(value) Returns true if the number is a prime number (integer greater than 1 divisible only by 1 and itself).

  • 7 is true

  • "$101" is true

  • 9 is false

  • -5 is false

IsDivisibleBy(number, divisor) Returns true if the number is divisible by the divisor (remainder is zero).

  • IsDivisibleBy(10, 2) is true

  • IsDivisibleBy(10.5, 2.5) is true

  • IsDivisibleBy(10, 3) is false

  • IsDivisibleBy(null, 5) is false

IsGreaterThan(number, threshold) Returns true if the first number is greater than the threshold.

  • IsGreaterThan(10, 5) is true

  • IsGreaterThan(5, 10) is false

IsLessThan(number, threshold) Returns true if the first number is less than the threshold.

  • IsLessThan(5, 10) is true

  • IsLessThan(10, 5) is false

IsGreaterThanOrEqual(number, threshold) Returns true if the one number is greater than or equal to the threshold.

  • IsGreaterThanOrEqual(10, 10) is true

  • IsGreaterThanOrEqual(9, 10) is false

IsLessThanOrEqual(number, threshold) Returns true if the one number is less than or equal to the threshold.

  • IsLessThanOrEqual(10, 10) is true

  • IsLessThanOrEqual(11, 10) is false

IsBetween(number, min, max) Returns true if the number is between the minimum and the maximum value (inclusive by default).

  • IsBetween(5, 1, 10) is true

  • IsBetween(0, 1, 10) is false