float

浮点数内置类型。

描述

float 内置类型是 64 位双精度浮点数,相当于 C++ 中的 double。这个类型有 14 个可靠的十进制小数位精度。float 的最大值约为 1.79769e308,最小值约为 -1.79769e308

不过引擎中的许多方法和属性默认使用的都是 32 位单精度浮点数,相当于 C++ 中的 float,有 6 位可靠的十进制小数位精度。Godot 在 Vector2Vector3 等数据结构中默认使用 32 位浮点数,但如果 Godot 编译时使用了 precision=double 选项,就会改为 64 位的 double。

使用 float 类型进行的数学运算无法保证精确与稳定,经常会产生较小的误差。你通常应该使用 @GlobalScope.is_equal_approx@GlobalScope.is_zero_approx 方法来比较 float 值是否相等,不应该用 ==

教程

构造函数

float

float()

float

float(from: float)

float

float(from: String)

float

float(from: bool)

float

float(from: int)

运算符

bool

operator !=(right: float)

bool

operator !=(right: int)

Color

operator (right: Color)

Quaternion

operator (right: Quaternion)

Vector2

operator (right: Vector2)

Vector2

operator (right: Vector2i)

Vector3

operator (right: Vector3)

Vector3

operator (right: Vector3i)

Vector4

operator (right: Vector4)

Vector4

operator (right: Vector4i)

float

operator (right: float)

float

operator (right: int)

float

operator (right: float)

float

operator (right: int)

float

operator +(right: float)

float

operator +(right: int)

float

operator -(right: float)

float

operator -(right: int)

float

operator /(right: float)

float

operator /(right: int)

bool

operator <(right: float)

bool

operator <(right: int)

bool

operator <=(right: float)

bool

operator <=(right: int)

bool

operator ==(right: float)

bool

operator ==(right: int)

bool

operator >(right: float)

bool

operator >(right: int)

bool

operator >=(right: float)

bool

operator >=(right: int)

float

operator unary+()

float

operator unary-()


构造函数说明

float float() 🔗

构造默认初始化的 float,会被设为 0.0


float float(from: float)

构造给定 float 的副本。


float float(from: String)

String 转换为 float,遵循与 String.to_float 相同的规则。


float float(from: bool)

bool 值转换为浮点值,float(true) 将等于 1.0,float(false) 将等于 0.0。


float float(from: int)

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。

  1. 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

  1. print(2.5 * Vector2(1, 3)) # 输出 "(2.5, 7.5)"

Vector2 operator *(right: Vector2i) 🔗

将该 Vector2i 的每个分量乘以给定的 float。返回的是 Vector2

  1. print(0.9 * Vector2i(10, 15)) # 输出 "(9, 13.5)"

Vector3 operator *(right: Vector3) 🔗

将该 Vector3 的每个分量乘以给定的 float


Vector3 operator *(right: Vector3i) 🔗

将该 Vector3i 的每个分量乘以给定的 float。返回的是 Vector3

  1. print(0.9 * Vector3i(10, 15, 20)) # 输出 "(9, 13.5, 18)"

Vector4 operator *(right: Vector4) 🔗

将该 Vector4 的每个分量乘以给定的 float


Vector4 operator *(right: Vector4i) 🔗

将该 Vector4i 的每个分量乘以给定的 float。返回的是 Vector4

  1. print(0.9 * Vector4i(10, 15, 20, -10))# 输出 "(9, 13.5, 18, -9)"

float operator *(right: float) 🔗

将两个 float 相乘。


float operator *(right: int) 🔗

floatint 相乘。结果是 float


float operator **(right: float) 🔗

float 提升到 float 次幂。

  1. print(39.0625**0.25) # 2.5

float operator **(right: int) 🔗

float 提升到 int 次幂。结果为 float

  1. 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,则这个方法的结果可能不准确。


bool operator <(right: int) 🔗

如果该 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,则这个方法的结果可能不准确。


bool operator >(right: int) 🔗

如果该 float 大于给定的 int,则返回 true


bool operator >=(right: float) 🔗

如果左侧的浮点数大于等于右侧的,则返回 true

注意:@GDScript.NAN 的行为与其他数字不同。因此,如果包含 NaN,则这个方法的结果可能不准确。


bool operator >=(right: int) 🔗

如果该 float 大于等于给定的 int,则返回 true


float operator unary+() 🔗

返回与 + 不存在时相同的值。单目 + 没有作用,但有时可以使你的代码更具可读性。


float operator unary-() 🔗

返回该 float 的相反数。如果为正数,则将该数变为负数。如果为负数,则将该数变为正数。对于浮点数,数字零既可以是正数,也可以是负数。