class_int.rst 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  2. .. DO NOT EDIT THIS FILE, but the int.xml source instead.
  3. .. The source is found in doc/classes or modules/<name>/doc_classes.
  4. .. _class_int:
  5. int
  6. ===
  7. **Category:** Built-In Types
  8. Brief Description
  9. -----------------
  10. Integer built-in type.
  11. Methods
  12. -------
  13. +-----------------------+-------------------------------------------------------------------------------+
  14. | :ref:`int<class_int>` | :ref:`int<class_int_method_int>` **(** :ref:`bool<class_bool>` from **)** |
  15. +-----------------------+-------------------------------------------------------------------------------+
  16. | :ref:`int<class_int>` | :ref:`int<class_int_method_int>` **(** :ref:`float<class_float>` from **)** |
  17. +-----------------------+-------------------------------------------------------------------------------+
  18. | :ref:`int<class_int>` | :ref:`int<class_int_method_int>` **(** :ref:`String<class_String>` from **)** |
  19. +-----------------------+-------------------------------------------------------------------------------+
  20. Description
  21. -----------
  22. Signed 64-bit integer type.
  23. It can take values in the interval ``[-2^63, 2^63 - 1]``, i.e. ``[-9223372036854775808, 9223372036854775807]``. Exceeding those bounds will wrap around.
  24. ``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.
  25. ::
  26. var my_variant = 0 # int, value 0
  27. my_variant += 4.2 # float, value 4.2
  28. var my_int: int = 1 # int, value 1
  29. my_int = 4.2 # int, value 4, the right value is implicitly cast to int
  30. my_int = int("6.7") # int, value 6, the String is explicitly cast with [method int]
  31. var max_int = 9223372036854775807
  32. print(max_int) # 9223372036854775807, OK
  33. max_int += 1
  34. print(max_int) # -9223372036854775808, we overflowed and wrapped around
  35. Method Descriptions
  36. -------------------
  37. .. _class_int_method_int:
  38. - :ref:`int<class_int>` **int** **(** :ref:`bool<class_bool>` from **)**
  39. 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.
  40. - :ref:`int<class_int>` **int** **(** :ref:`float<class_float>` from **)**
  41. 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.
  42. - :ref:`int<class_int>` **int** **(** :ref:`String<class_String>` from **)**
  43. 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.