class_int.rst 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the int.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_int:
  6. int
  7. ===
  8. Integer built-in type.
  9. Description
  10. -----------
  11. Signed 64-bit integer type.
  12. It can take values in the interval ``[-2^63, 2^63 - 1]``, i.e. ``[-9223372036854775808, 9223372036854775807]``. Exceeding those bounds will wrap around.
  13. ``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.
  14. ::
  15. var my_variant = 0 # int, value 0.
  16. my_variant += 4.2 # float, value 4.2.
  17. var my_int: int = 1 # int, value 1.
  18. my_int = 4.2 # int, value 4, the right value is implicitly cast to int.
  19. my_int = int("6.7") # int, value 6, the String is explicitly cast with int.
  20. var max_int = 9223372036854775807
  21. print(max_int) # 9223372036854775807, OK.
  22. max_int += 1
  23. print(max_int) # -9223372036854775808, we overflowed and wrapped around.
  24. Methods
  25. -------
  26. +-----------------------+-------------------------------------------------------------------------------+
  27. | :ref:`int<class_int>` | :ref:`int<class_int_method_int>` **(** :ref:`bool<class_bool>` from **)** |
  28. +-----------------------+-------------------------------------------------------------------------------+
  29. | :ref:`int<class_int>` | :ref:`int<class_int_method_int>` **(** :ref:`float<class_float>` from **)** |
  30. +-----------------------+-------------------------------------------------------------------------------+
  31. | :ref:`int<class_int>` | :ref:`int<class_int_method_int>` **(** :ref:`String<class_String>` from **)** |
  32. +-----------------------+-------------------------------------------------------------------------------+
  33. Method Descriptions
  34. -------------------
  35. .. _class_int_method_int:
  36. - :ref:`int<class_int>` **int** **(** :ref:`bool<class_bool>` from **)**
  37. 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.
  38. ----
  39. - :ref:`int<class_int>` **int** **(** :ref:`float<class_float>` from **)**
  40. Cast a float value to an integer value, this method simply removes the number fractions (i.e. rounds ``from`` towards zero), so for example ``int(2.7)`` will be equals to 2, ``int(0.1)`` will be equals to 0 and ``int(-2.7)`` will be equals to -2. This operation is also called truncation.
  41. ----
  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.
  44. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  45. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  46. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`