class_int.rst 2.9 KB

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