Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
float
浮点数内置类型。
描述
float 内置类型是 64 位双精度浮点数,相当于 C++ 中的 double
。这个类型有 14 个可靠的十进制小数位精度。float 的最大值约为 1.79769e308
,最小值约为 -1.79769e308
。
不过引擎中的许多方法和属性默认使用的都是 32 位单精度浮点数,相当于 C++ 中的 float
,有 6 位可靠的十进制小数位精度。Godot 在 Vector2 和 Vector3 等数据结构中默认使用 32 位浮点数,但如果 Godot 编译时使用了 precision=double
选项,就会改为 64 位的 double。
使用 float 类型进行的数学运算无法保证精确与稳定,经常会产生较小的误差。你通常应该使用 @GlobalScope.is_equal_approx() 和 @GlobalScope.is_zero_approx() 方法来比较 float 值是否相等,不应该用 ==
。
教程
构造函数
float() |
|
运算符
operator !=(right: float) |
|
operator !=(right: int) |
|
operator *(right: Color) |
|
operator *(right: Quaternion) |
|
operator *(right: Vector2) |
|
operator *(right: Vector2i) |
|
operator *(right: Vector3) |
|
operator *(right: Vector3i) |
|
operator *(right: Vector4) |
|
operator *(right: Vector4i) |
|
operator *(right: float) |
|
operator *(right: int) |
|
operator **(right: float) |
|
operator **(right: int) |
|
operator +(right: float) |
|
operator +(right: int) |
|
operator -(right: float) |
|
operator -(right: int) |
|
operator /(right: float) |
|
operator /(right: int) |
|
operator <(right: float) |
|
operator <(right: int) |
|
operator <=(right: float) |
|
operator <=(right: int) |
|
operator ==(right: float) |
|
operator ==(right: int) |
|
operator >(right: float) |
|
operator >(right: int) |
|
operator >=(right: float) |
|
operator >=(right: int) |
|
构造函数说明
构造默认初始化的 float,会被设为 0.0
。
构造给定 float 的副本。
将 String 转换为 float,遵循与 String.to_float() 相同的规则。
将 bool 值转换为浮点值,float(true)
将等于 1.0,float(false)
将等于 0.0。
将 int 值转换为浮点值,float(1)
将等于 1.0
。
运算符说明
bool operator !=(right: float) 🔗
如果两个浮点数彼此不同,则返回 true
。
注意:@GDScript.NAN 的行为与其他数字不同。因此,如果包含 NaN,则这个方法的结果可能不准确。
bool operator !=(right: int) 🔗
如果整数的值与浮点数不同,则返回 true
。
Color operator *(right: Color) 🔗
将该 Color 的每个分量乘以给定的 float,包括 Alpha。
print(1.5 * Color(0.5, 0.5, 0.5)) # 输出 (0.75, 0.75, 0.75, 1.5)
Quaternion operator *(right: Quaternion) 🔗
将该 Quaternion 的每个分量乘以给定的 float。此操作本身没有意义,但可以用作更大表达式的一部分。
Vector2 operator *(right: Vector2) 🔗
将该 Vector2 的每个分量乘以给定的 float。
print(2.5 * Vector2(1, 3)) # 输出 (2.5, 7.5)
Vector2 operator *(right: Vector2i) 🔗
将该 Vector2i 的每个分量乘以给定的 float。返回的是 Vector2。
print(0.9 * Vector2i(10, 15)) # 输出 (9.0, 13.5)
Vector3 operator *(right: Vector3) 🔗
将该 Vector3 的每个分量乘以给定的 float。
Vector3 operator *(right: Vector3i) 🔗
将该 Vector3i 的每个分量乘以给定的 float。返回的是 Vector3。
print(0.9 * Vector3i(10, 15, 20)) # 输出 (9.0, 13.5, 18.0)
Vector4 operator *(right: Vector4) 🔗
将该 Vector4 的每个分量乘以给定的 float。
Vector4 operator *(right: Vector4i) 🔗
将该 Vector4i 的每个分量乘以给定的 float。返回的是 Vector4。
print(0.9 * Vector4i(10, 15, 20, -10))# 输出 (9.0, 13.5, 18.0, -9.0)
float operator *(right: float) 🔗
将两个 float 相乘。
float operator *(right: int) 🔗
将 float 和 int 相乘。结果是 float。
float operator **(right: float) 🔗
将 float 提升到 float 次幂。
print(39.0625**0.25) # 2.5
float operator **(right: int) 🔗
将 float 提升到 int 次幂。结果为 float。
print(0.9**3) # 0.729
float operator +(right: float) 🔗
将两个浮点数相加。
float operator +(right: int) 🔗
将 float 加上 int。结果为 float。
float operator -(right: float) 🔗
将一个浮点数减去另一个浮点数。
float operator -(right: int) 🔗
将 float 减去 int。结果为 float。
float operator /(right: float) 🔗
将两个浮点数相除。
float operator /(right: int) 🔗
将 float 除以 int。结果是 float。
bool operator <(right: float) 🔗
如果左侧的浮点数小于右侧的,则返回 true
。
注意:@GDScript.NAN 的行为与其他数字不同。因此,如果包含 NaN,则这个方法的结果可能不准确。
如果该 float 小于给定的 int,则返回 true
。
bool operator <=(right: float) 🔗
如果左侧的浮点数小于等于右侧的,则返回 true
。
注意:@GDScript.NAN 的行为与其他数字不同。因此,如果包含 NaN,则这个方法的结果可能不准确。
bool operator <=(right: int) 🔗
如果该 float 小于等于给定的 int,则返回 true
。
bool operator ==(right: float) 🔗
如果两个浮点数完全相等,则返回 true
。
注意:由于浮点精度误差,考虑改用更可靠的 @GlobalScope.is_equal_approx() 或 @GlobalScope.is_zero_approx()。
注意:@GDScript.NAN 的行为与其他数字不同。因此,如果包含 NaN,则这个方法的结果可能不准确。
bool operator ==(right: int) 🔗
如果该 float 等于给定的 int,则返回 true
。
bool operator >(right: float) 🔗
如果左侧的浮点数大于右侧的,则返回 true
。
注意:@GDScript.NAN 的行为与其他数字不同。因此,如果包含 NaN,则这个方法的结果可能不准确。
如果该 float 大于给定的 int,则返回 true
。
bool operator >=(right: float) 🔗
如果左侧的浮点数大于等于右侧的,则返回 true
。
注意:@GDScript.NAN 的行为与其他数字不同。因此,如果包含 NaN,则这个方法的结果可能不准确。
bool operator >=(right: int) 🔗
如果该 float 大于等于给定的 int,则返回 true
。
返回与 +
不存在时相同的值。单目 +
没有作用,但有时可以使你的代码更具可读性。
返回该 float 的相反数。如果为正数,则将该数变为负数。如果为负数,则将该数变为正数。对于浮点数,数字零既可以是正数,也可以是负数。