Files
godot-docs/classes/class_int.rst
2020-01-21 09:28:25 +01:00

73 lines
2.9 KiB
ReStructuredText

:github_url: hide
.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the int.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.
.. _class_int:
int
===
**Category:** Built-In Types
Brief Description
-----------------
Integer built-in type.
Methods
-------
+-----------------------+-------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`int<class_int_method_int>` **(** :ref:`bool<class_bool>` from **)** |
+-----------------------+-------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`int<class_int_method_int>` **(** :ref:`float<class_float>` from **)** |
+-----------------------+-------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`int<class_int_method_int>` **(** :ref:`String<class_String>` from **)** |
+-----------------------+-------------------------------------------------------------------------------+
Description
-----------
Signed 64-bit integer type.
It can take values in the interval ``[-2^63, 2^63 - 1]``, i.e. ``[-9223372036854775808, 9223372036854775807]``. Exceeding those bounds will wrap around.
``int`` is a :ref:`Variant<class_Variant>` type, and will thus be used when assigning an integer value to a :ref:`Variant<class_Variant>`. It can also be enforced with the ``: int`` type hint.
::
var my_variant = 0 # int, value 0
my_variant += 4.2 # float, value 4.2
var my_int: int = 1 # int, value 1
my_int = 4.2 # int, value 4, the right value is implicitly cast to int
my_int = int("6.7") # int, value 6, the String is explicitly cast with [method int]
var max_int = 9223372036854775807
print(max_int) # 9223372036854775807, OK
max_int += 1
print(max_int) # -9223372036854775808, we overflowed and wrapped around
Method Descriptions
-------------------
.. _class_int_method_int:
- :ref:`int<class_int>` **int** **(** :ref:`bool<class_bool>` from **)**
Cast a :ref:`bool<class_bool>` value to an integer value, ``int(true)`` will be equals to 1 and ``int(false)`` will be equals to 0.
----
- :ref:`int<class_int>` **int** **(** :ref:`float<class_float>` from **)**
Cast a float value to an integer value, this method simply removes the number fractions, so for example ``int(2.7)`` will be equals to 2, ``int(.1)`` will be equals to 0 and ``int(-2.7)`` will be equals to -2.
----
- :ref:`int<class_int>` **int** **(** :ref:`String<class_String>` from **)**
Cast a :ref:`String<class_String>` value to an integer value, this method is an integer parser from a string, so calling this method with an invalid integer string will return 0, a valid string will be something like ``'1.7'``. This method will ignore all non-number characters, so calling ``int('1e3')`` will return 13.