Loading...
Searching...
No Matches
<int> Class Reference

Methods in this pseudo-class can be executed on integer values. More...

`#include <Pseudo_QC_Int.dox.h>`

Inheritance diagram for Qore::<int>:
[legend]

## Public Member Functions

int | abs ()
| Returns the absolute value of the number.
binary | encodeLsb (int size=4)
| returns a binary object with the integer encoded in the given number of bytes in least significant byte order
binary | encodeMsb (int size=4)
| returns a binary object with the integer encoded in the given number of bytes in most significant byte order
string | format (string fmt)
| Returns a formatted string of the integer according to the format argument.
string | format (int prec=2, string decimal_sep=".", string thousands_sep="")
| Returns a formatted string of the integer according to format arguments.
bool | intp ()
| Returns True by default.
int | sign ()
| Returns -1 if the number is negative, 0 if it is zero, or 1 if it is positive.
bool | strp ()
| Returns True because integer values can be converted to strings.
string | toBase (int base=10)
| Converts the integer to a different base (and returns it as a string).
string | toUnicode ()
| Returns a single character string in UTF-8 encoding for the integer value treated as a unicode value.
int | typeCode ()
| Returns Qore::NT_INT.
bool | val ()
| Returns True if the int is non-zero, False if zero.
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)
bool | complexType ()
| returns True if the value has a complex type, False if not
bool | empty ()
| Returns True; this method will be reimplemented in container types where it may return False.
string | fullType (*bool with_namespaces)
| returns the full type name which differs from the simple type name in case of complex types and objects
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.
AbstractIterator | iterator ()
| Returns an iterator object for the value; the default iterator object returned is SingleValueIterator.
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.
int | size ()
| Returns zero; this method will be reimplemented in container types where it may return a non-zero value.
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)
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.
bool | toBool ()
| Returns the boolean representation of the value; the default is False.
float | toFloat ()
| Returns the floating-point representation of the value; the default is 0.0.
int | toInt ()
| Returns the integer representation of the value; the default is 0.
number | toNumber ()
| Returns the arbitrary-precision numeric representation of the value; the default is 0.
string | toString (*string encoding)
| Returns the string representation of the value; the default is an empty string.
string | type ()
| Returns the string type for the value.
int | typeCode ()
| Returns the type code for the value.
bool | val ()
| Returns False; this method is reimplemented in other types and will return True if the given expression has a non-empty value.

## Detailed Description

Methods in this pseudo-class can be executed on integer values.

## Member Function Documentation

## abs()

int <int>::abs | ( |  | ) |

Returns the absolute value of the number.

Code Flags:
  CONSTANT

Example:
  i = i.abs();

Returns
  the absolute value of the number

Note
  equivalent to abs(int)

Since
  Qore 0.8.8

## encodeLsb()

binary <int>::encodeLsb | ( | int | size = 4 | ) |

returns a binary object with the integer encoded in the given number of bytes in least significant byte order

Code Flags:
  RET_VALUE_ONLY

Example:
  b += i.encodeLsb(8);

Parameters

  size | the size of the encoded binary object; must be 1, 2, 4, or 8 or a SIZE-ERROR exception is raised

Returns
  a binary object with the integer encoded in the given number of bytes in least significant byte order

Exceptions

  SIZE-ERROR | the argument is not 1, 2, 4, or 8 or the argument cannot fit in the number of bytes requested

Since
  Qore 0.8.8

## encodeMsb()

binary <int>::encodeMsb | ( | int | size = 4 | ) |

returns a binary object with the integer encoded in the given number of bytes in most significant byte order

Code Flags:
  RET_VALUE_ONLY

Example:
  b += i.encodeMsb(8);

Parameters

  size | the size of the encoded binary object; must be 1, 2, 4, or 8 or a SIZE-ERROR exception is raised

Returns
  a binary object with the integer encoded in the given number of bytes in most significant byte order

Exceptions

  SIZE-ERROR | the argument is not 1, 2, 4, or 8 or the argument cannot fit in the number of bytes requested

Since
  Qore 0.8.8

## format() [1/2]

string <int>::format | ( | int | prec = 2,
|  | string | decimal_sep = ".",
|  | string | thousands_sep = "" )

Returns a formatted string of the integer according to format arguments.

Code Flags:
  RET_VALUE_ONLY

Parameters

  prec | the number of digits after the decimal point; a negative value means to round that number of digits before the decimal place, note that a positive value here will result in the given number of zeros appearing after the decimal place
  decimal_sep | a single character that defines the decimal separator; an empty string means no decimal separator
  thousands_sep | a single character that defines the thousands and further separators every three digits before the decimal point; an empty string means no thousands separator

Returns
  a string representing the integer according to the format arguments as described above

Example:
  int i = -48392093894;
  string nstr = i.format(3, ",", "."); # returns "-48.392.093.894,000"

See also
  - <number>::format(int, string, string)
  - <float>::format(int, string, string)
  - <number>::format(string)
  - <float>::format(string)
  - <int>::format(string)

Since
  Qore 0.8.13

## format() [2/2]

string <int>::format | ( | string | fmt | ) |

Returns a formatted string of the integer according to the format argument.

Code Flags:
  CONSTANT

Parameters

  fmt

  the format string has the following format:
  <thousands_separator>`[`<decimal_separator>[<decimals>]`]`
  where:
  - thousands_separator and decimal_separator are single characters defining the thousands and decimal separator characters respectively, and
  - decimals is one or more digits defining how may decimals should appear after the decimal point - if this is non-zero then the decimals will all be `"0"`; a negative number means to round that number of digits before the decimal place
  - if thousands_separator is the special character ``?, then no thousands separator character will be output

Returns
  a string of the integer according to a format string; if the format string does not follow the given format, then the number without formatting is returned

Example:
  int i = -48392093894;
  string nstr = i.format(".,3"); # returns "-48.392.093.894,000"

See also
  - <float>::format(string)
  - <number>::format(string)
  - <int>::format(int, string, string)
  - <float>::format(int, string, string)
  - <number>::format(int, string, string)

Since
  - Qore 0.8.6
  - Qore 2.0 implemented support for supressing the thousands separator with the ``? character

## intp()

bool <int>::intp | ( |  | ) |

Returns True by default.

Returns
  True by default

Code Flags:
  CONSTANT

Example:
  if (n.intp())
  printf("%y: can be converted to an integer: %d\n", n, int(n));

## sign()

int <int>::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", i.sign());

Since
  Qore 0.8.6

## strp()

bool <int>::strp | ( |  | ) |

Returns True because integer values can be converted to strings.

Returns
  True because integer 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));

## toBase()

string <int>::toBase | ( | int | base = 10 | ) |

Converts the integer to a different base (and returns it as a string).

Code Flags:
  RET_VALUE_ONLY

Parameters

  base | the base to convert the integer to; this value must be 2 - 36 inclusive or an `INVALID-BASE` exception will be thrown

Returns
  the converted value as a string

Example:
  27.toBase(2)); // returns "11011"
  033.toBase(2)); // returns "11011"
  0x1B.toBase(2)); // returns "11011"
  (-27).toBase(5)); // returns "-102"
  (-0x1B).toBase(5)); // returns "-102"
  27.toBase(8)); // returns "33"
  033.toBase(8)); // returns "33"
  27.toBase()); // returns "27"
  033.toBase()); // returns "27"
  0x1B.toBase()); // returns "27"
  (-27).toBase(13)); // returns "-21"
  27.toBase(16)); // returns "1B"
  0x1B.toBase(16)); // returns "1B"
  27.toBase(27)); // returns "10"
  27.toBase(28)); // returns "R"
  (-27).toBase(36)); // returns "-R"
  35.toBase(36)); // returns "Z"

Exceptions

  INVALID-BASE | the base is invalid; must be 2 - 36 inclusive

See also
  <number>::toBase(int base)
  <float>::toBase(int base)

Since
  Qore 0.8.13

## toUnicode()

string <int>::toUnicode | ( |  | ) |

Returns a single character string in UTF-8 encoding for the integer value treated as a unicode value.

Code Flags:
  RET_VALUE_ONLY

Example:
  string str = 0x00f8.toUnicode()

Returns
  a single character string in UTF-8 encoding for the integer value treated as a unicode value

Note
  only the least-significant 4 bytes of the integer are used

Since
  Qore 0.8.8

## typeCode()

int <int>::typeCode | ( |  | ) |

Returns Qore::NT_INT.

Returns
  Qore::NT_INT

Code Flags:
  CONSTANT

Example:
  switch (i.typeCode()) {
  case NT_INT:
  printf("%y: is a int\n", i);
  break;
  }

## val()

bool <int>::val | ( |  | ) |

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

Returns
  True if the int is non-zero, False if zero

Code Flags:
  CONSTANT

Example:
  bool b = i.val();

See also
  - %perl-bool-eval
  - %strict-bool-eval