Skip to main content

Zymba Documentation

Number

object @Number() {
EPSILON;
INF;
MINFLOAT;
MININT;
MAXFLOAT;
MAXINT;
NAN;
compare(number $number1, number $number2): int {}
countLeadingZeros(int $number): int {}
equals(number $number1, number $number2): bool {}
format(number $number, int $precision, string $point, string $separator): string {}
fromBinary(string $binary): number {}
fromHex(string $hex): number {}
fromOctal(string $octal): number {}
hasFractionalPart(number $number): bool {}
hasIntegerPart(number $number): bool {}
isBigEndian(): bool {}
isEven(number $number): bool {}
isFinite(number $number): bool {}
isInfinite(number $number): bool {}
isNaN(number $number): bool {}
isNatural(number $number): bool {}
isNegative(number $number): bool {}
isOdd(number $number): bool {}
isPositive(number $number): bool {}
isPrime(number $number): bool {}
isSafeInteger(number $number): bool {}
isZero(number $number): bool {}
max(...$numbers): number {}
min(...$numbers): number {}
normalize(number $number): number {}
randomFloat(number $min, number $max): float {}
randomInt(int $min, int $max): int {}
roundDown(number $number, int $precision): float {}
roundHalfDown(number $number, int $precision): float {}
roundHalfToEven(number $number, int $precision): float {}
roundHalfToOdd(number $number, int $precision): float {}
roundHalfToInfinity(number $number, int $precision): float {}
roundHalfToZero(number $number, int $precision): float {}
roundHalfUp(number $number, int $precision): float {}
roundToInfinity(number $number, int $precision): float {}
roundToZero(number $number, int $precision): float {}
roundUp(number $number, int $precision): float {}
toBinary(int $decimal): string {}
toExponential(number $number, int $digits): string {}
toFixed(number $number, int $digits): string {}
toHex(int $decimal): string {}
toOctal(int $decimal): string {}
toPrecision(number $number, int $digits): string {}
}

Static number related constants and functions.

Functions

Compares two numbers in a numeric manner.

@Number.compare(number $number1, number $number2): int
Parameters
NameTypeValueDefault
number1number0
number2number0
Returns
TypeValue
int+1
int-1
int0

Counts the leading zeros of an unsigned integer number.

@Number.countLeadingZeros(int $number): int
Parameters
NameTypeValueDefault
numberint0
Returns
TypeValue
int

Determines whether two numbers are equal, considering the machine epsilon.

@Number.equals(number $number1, number $number2): bool
Parameters
NameTypeValueDefault
number1number0
number2number0
Returns
TypeValue
bool

Returns the formatted representation of a number with separated thousands, rounded with a specific precision.

@Number.format(number $number, int $precision, string $point, string $separator): string
Parameters
NameTypeValueDefault
numbernumber0
precisionint0
pointstring"."
separatorstring" "
Returns
TypeValue
string

Converts a binary string representation to its equivalent decimal number.

@Number.fromBinary(string $binary): number
Parameters
NameTypeValueDefault
binarystring""
Returns
TypeValue
number

Converts a hexadecimal string representation to its equivalent decimal number.

@Number.fromHex(string $hex): number
Parameters
NameTypeValueDefault
hexstring""
Returns
TypeValue
number

Converts an octal string representation to its equivalent decimal number.

@Number.fromOctal(string $octal): number
Parameters
NameTypeValueDefault
octalstring""
Returns
TypeValue
number

Determines whether a number has a fractional part.

@Number.hasFractionalPart(number $number): bool
Parameters
NameTypeValueDefault
numbernumber0
Returns
TypeValue
bool

Determines whether a number has an integer part.

@Number.hasIntegerPart(number $number): bool
Parameters
NameTypeValueDefault
numbernumber0
Returns
TypeValue
bool

Determines whether the machine is of a big-endian architecture.

@Number.isBigEndian(): bool
Returns
TypeValue
bool

Determines whether a number is even.

@Number.isEven(number $number): bool
Parameters
NameTypeValueDefault
numbernumber0
Returns
TypeValue
bool

Determines whether a number is finite.

@Number.isFinite(number $number): bool
Parameters
NameTypeValueDefault
numbernumber0
Returns
TypeValue
bool

Determines whether a number is infinite.

@Number.isInfinite(number $number): bool
Parameters
NameTypeValueDefault
numbernumber0
Returns
TypeValue
bool

Determines whether a number is "not a number" (NaN).

@Number.isNaN(number $number): bool
Parameters
NameTypeValueDefault
numbernumber0
Returns
TypeValue
bool

Determines whether a number is in the set of natural numbers including zero.

@Number.isNatural(number $number): bool
Parameters
NameTypeValueDefault
numbernumber0
Returns
TypeValue
bool

Determines whether a number is negative.

@Number.isNegative(number $number): bool
Parameters
NameTypeValueDefault
numbernumber0
Returns
TypeValue
bool

Determines whether a number is odd.

@Number.isOdd(number $number): bool
Parameters
NameTypeValueDefault
numbernumber0
Returns
TypeValue
bool

Determines whether a number is positive.

@Number.isPositive(number $number): bool
Parameters
NameTypeValueDefault
numbernumber0
Returns
TypeValue
bool

Determines whether a number is a prime number.

@Number.isPrime(number $number): bool
Parameters
NameTypeValueDefault
numbernumber0
Returns
TypeValue
bool

Determines whether a number is a whole number within the safe integer range.

@Number.isSafeInteger(number $number): bool
Parameters
NameTypeValueDefault
numbernumber0
Returns
TypeValue
bool

Determines whether a number equals zero.

@Number.isZero(number $number): bool
Parameters
NameTypeValueDefault
numbernumber0
Returns
TypeValue
bool

Returns the greatest of numbers.

@Number.max(variadic $numbers): number
Parameters
NameTypeValueDefault
numbersvariadic...
Returns
TypeValue
number
floatNAN
null

Returns the least of numbers.

@Number.min(variadic $numbers): number
Parameters
NameTypeValueDefault
numbersvariadic...
Returns
TypeValue
number
floatNAN
null

Normalizes a number by stripping binary floating-point artifacts.

@Number.normalize(number $number): number
Parameters
NameTypeValueDefault
numbernumber0
Returns
TypeValue
number

Generates a floating-point number between two numbers from a random source.

@Number.randomFloat(number $min, number $max): float
Parameters
NameTypeValueDefault
minnumber0
maxnumberMAXINT
Returns
TypeValue
float
floatNAN

Generates an integer number between two numbers from a random source.

@Number.randomInt(int $min, int $max): int
Parameters
NameTypeValueDefault
minint0
maxintMAXINT
Returns
TypeValue
int

Rounds a number downwards to negative infinity with a specific precision.

@Number.roundDown(number $number, int $precision): float
Parameters
NameTypeValueDefault
numbernumber0
precisionint0
Returns
TypeValue
float

Rounds a number downwards to nearest with a specific precision, ties towards negative infinity.

@Number.roundHalfDown(number $number, int $precision): float
Parameters
NameTypeValueDefault
numbernumber0
precisionint0
Returns
TypeValue
float

Rounds a number symmetrically to nearest with a specific precision, ties to even.

@Number.roundHalfToEven(number $number, int $precision): float
Parameters
NameTypeValueDefault
numbernumber0
precisionint0
Returns
TypeValue
float

Rounds a number symmetrically to nearest with a specific precision, ties to odd.

@Number.roundHalfToOdd(number $number, int $precision): float
Parameters
NameTypeValueDefault
numbernumber0
precisionint0
Returns
TypeValue
float

Rounds a number symmetrically to nearest with a specific precision, ties towards infinity.

@Number.roundHalfToInfinity(number $number, int $precision): float
Parameters
NameTypeValueDefault
numbernumber0
precisionint0
Returns
TypeValue
float

Rounds a number symmetrically to nearest with a specific precision, ties towards zero.

@Number.roundHalfToZero(number $number, int $precision): float
Parameters
NameTypeValueDefault
numbernumber0
precisionint0
Returns
TypeValue
float

Rounds a number upwards to nearest with a specific precision, ties towards positive infinity.

@Number.roundHalfUp(number $number, int $precision): float
Parameters
NameTypeValueDefault
numbernumber0
precisionint0
Returns
TypeValue
float

Rounds a number symmetrically towards infinity with a specific precision.

@Number.roundToInfinity(number $number, int $precision): float
Parameters
NameTypeValueDefault
numbernumber0
precisionint0
Returns
TypeValue
float

Rounds a number symmetrically towards zero with a specific precision.

@Number.roundToZero(number $number, int $precision): float
Parameters
NameTypeValueDefault
numbernumber0
precisionint0
Returns
TypeValue
float

Rounds a number upwards to positive infinity with a specific precision.

@Number.roundUp(number $number, int $precision): float
Parameters
NameTypeValueDefault
numbernumber0
precisionint0
Returns
TypeValue
float

Converts a decimal number to its equivalent binary string representation.

@Number.toBinary(int $decimal): string
Parameters
NameTypeValueDefault
decimalint0
Returns
TypeValue
string

Converts a number to its equivalent string representation in exponential notation with a fixed number of decimal digits.

@Number.toExponential(number $number, int $digits): string
Parameters
NameTypeValueDefault
numbernumber0
digitsint0
Returns
TypeValue
string

Converts a number to its equivalent string representation in fixed-point notation with a fixed number of decimal digits.

@Number.toFixed(number $number, int $digits): string
Parameters
NameTypeValueDefault
numbernumber0
digitsint0
Returns
TypeValue
string

Converts a decimal number to its equivalent hexadecimal string representation.

@Number.toHex(int $decimal): string
Parameters
NameTypeValueDefault
decimalint0
Returns
TypeValue
string

Converts a decimal number to its equivalent octal string representation.

@Number.toOctal(int $decimal): string
Parameters
NameTypeValueDefault
decimalint0
Returns
TypeValue
string

Converts a number to its equivalent string representation in fixed-point or exponential notation with a maximum number of significant digits.

@Number.toPrecision(number $number, int $digits): string
Parameters
NameTypeValueDefault
numbernumber0
digitsint0
Returns
TypeValue
string