Qore Programming Language Reference Manual  0.8.11.1
<number> Class Reference

Methods in this pseudo-class can be executed on arbitrary precision number values. More...

Inheritance diagram for Qore::<number>:

Public Member Functions

number abs ()
 Returns the absolute value of the number. More...
 
string format (string fmt)
 Returns a string of a formatted number according to a format string. More...
 
bool infp ()
 Returns True if the number is infinity (+ or -) More...
 
bool intp ()
 Returns True because number values can be converted to integers. More...
 
bool nanp ()
 Returns True if the number is NaN (not a number) More...
 
int prec ()
 Returns the precision of the current number. More...
 
int sign ()
 Returns -1 if the number is negative, 0 if it is zero, or 1 if it is positive. More...
 
bool strp ()
 Returns True because number values can be converted to strings. More...
 
string toString (int fmt)
 Returns the string representation of the number according to the format argument. More...
 
int typeCode ()
 Returns Qore::NT_NUMBER. More...
 
bool val ()
 Returns True if the number is non-zero, False if zero. More...
 
- Public Member Functions inherited from <value>
bool callp ()
 Returns False; this method is reimplemented in other types and will return True if the given expression is a callable value (ie closures or call references) More...
 
bool empty ()
 Returns True; this method will be reimplemented in container types where it may return False. More...
 
bool intp ()
 Returns False; this method is reimplemented in other types and will return True if the given expression can be converted to an integer. More...
 
AbstractIterator iterator ()
 Returns an iterator object for the value; the default iterator object returned is SingleValueIterator. More...
 
int lsize ()
 Returns 1; the return value of this method should give the list size of the value, which is normally 1 for non-lists (except for NOTHING where the size will be 0) and the number of the elements in the list for lists; this method will be reimplemented in other types where it may return other values. More...
 
int size ()
 Returns zero; this method will be reimplemented in container types where it may return a non-zero value. More...
 
bool sizep ()
 Returns True if the type can return a non-zero size (True for containers including binary objects and strings, False for everything else) More...
 
bool strp ()
 Returns False; this method is reimplemented in other types and will return True if the given expression can be converted to a string. More...
 
bool toBool ()
 Returns the boolean representation of the value; the default is False. More...
 
float toFloat ()
 Returns the floating-point representation of the value; the default is 0.0. More...
 
int toInt ()
 Returns the integer representation of the value; the default is 0. More...
 
number toNumber ()
 Returns the arbitrary-precision numeric representation of the value; the default is 0. More...
 
string toString ()
 Returns the string representation of the value; the default is an empty string. More...
 
string type ()
 Returns the string type for the value. More...
 
int typeCode ()
 Returns the type code for the value. More...
 
bool val ()
 Returns False; this method is reimplemented in other types and will return True if the given expression has a value that would be converted to True according to the rules described in %perl-bool-eval. More...
 

Detailed Description

Methods in this pseudo-class can be executed on arbitrary precision number values.

Member Function Documentation

number <number>::abs ( )

Returns the absolute value of the number.

Code Flags:
CONSTANT
Example:
$n = $n.abs();
Returns
the absolute value of the number
Note
equivalent to abs(number)
Since
Qore 0.8.8
string <number>::format ( string  fmt)

Returns a string of a formatted number according to a format string.

Code Flags:
CONSTANT
Parameters
fmtthe format string has the following format:
<thousands_separator>[<decimal_separator><decimals>]
where:
  • thousands_separator and decimal_separator are single ASCII characters defining the thousands and decimal separator characters respectively, and
  • decimals is a single digit defining how may decimals should appear after the decimal point
Returns
a string of a formatted number according to a format string; if the format string does not follow the given format, then an empty string is returned
Example:
my number $n = -48392093894.2349n;
my string $nstr = $n.format(".,3"); # returns "-48.392.093.894,235"
See also
Since
Qore 0.8.6
bool <number>::infp ( )

Returns True if the number is infinity (+ or -)

Returns
True if the number is infinity (+ or -)
Code Flags:
CONSTANT
Example:
if ($n.infp())
print("the operation resulted in infinity\n");
Since
Qore 0.8.6
bool <number>::intp ( )

Returns True because number values can be converted to integers.

Returns
True because number values can be converted to integers
Code Flags:
CONSTANT
Example:
if ($n.intp())
printf("%y: can be converted to an integer: %d\n", $n, int($n));
Since
Qore 0.8.6
bool <number>::nanp ( )

Returns True if the number is NaN (not a number)

Returns
True if the number is NaN (not a number)
Code Flags:
CONSTANT
Example:
if ($n.nanp())
print("the operation resulted in NaN\n");
Since
Qore 0.8.6
int <number>::prec ( )

Returns the precision of the current number.

Returns
the precision of the current number
Code Flags:
CONSTANT
Example:
printf("precision: %d\n", $n.prec());
Since
Qore 0.8.6
int <number>::sign ( )

Returns -1 if the number is negative, 0 if it is zero, or 1 if it is positive.

Returns
-1 if the number is negative, 0 if it is zero, or 1 if it is positive
Code Flags:
CONSTANT
Example:
printf("sign: %d\n", $n.sign());
Since
Qore 0.8.6
bool <number>::strp ( )

Returns True because number values can be converted to strings.

Returns
True because number values can be converted to strings
Code Flags:
CONSTANT
Example:
if ($n.strp())
printf("%y: can be converted to a string: '%s'\n", $n, string($n));
Since
Qore 0.8.6
string <number>::toString ( int  fmt)

Returns the string representation of the number according to the format argument.

Code Flags:
CONSTANT
Parameters
fmtsee Number Formatting Constants for possible values; note that this argument is interpreted as a bit field; if the format argument is not a valid format value (i.e. if none of the formatting bits are set in the argument) then NF_Default is assumed instead
Returns
the string representation of the number according to the format argument
Since
Qore 0.8.6
int <number>::typeCode ( )

Returns Qore::NT_NUMBER.

Returns
Qore::NT_NUMBER
Code Flags:
CONSTANT
Example:
switch ($f.typeCode()) {
case NT_NUMBER:
printf("%y: is a number\n", $f);
break;
}
Since
Qore 0.8.6
bool <number>::val ( )

Returns True if the number is non-zero, False if zero.

Returns
True if the number is non-zero, False if zero
Code Flags:
CONSTANT
Example:
my bool $b = $f.val();
See also
Since
Qore 0.8.6