float¶
浮点数的内置类型。
描述¶
float内置类型为64位双精度浮点数,相当于C++中的Double,该类型具有14位可靠的十进制精度,float的最大值约为1.79769e308,最小值约为-1.79769e308。
引擎中的许多方法和属性使用32位单精度浮点数代替,相当于C++中的float,其精度为6位可靠的十进制数。对于Vector2和Vector3等数据结构,i3D默认使用32位浮点数,但如果使用精度=双选项编译i3D,则可以更改为使用64位双精度。
使用float类型完成的数学不能保证是准确的,并且通常会导致小错误。您通常应该使用@GlobalScope.is_equal_approx()和@GlobalScope.is_zero_approx()方法而不是==来比较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作为给定float的副本。
将String转换为float,遵循与String.to_float()相同的规则。
将bool值转换为浮点值,flo(true)将等于1.0,flo(false)将等于0.0。
将int值转换为浮点值,float(1)将等于1.0。
运算符说明¶
bool operator !=(right: float) 🔗
如果两个浮点数彼此不同,则返回true。
注意:@S3Script.NAN的行为与其他数字不同。因此,如果包含NaN,则此运算符的结果可能不准确。
bool operator !=(right: int) 🔗
如果整数的值与浮点数不同,则返回true。
Color operator *(right: Color) 🔗
将 Color 的每个分量(包括透明度)乘以给定的 float。
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。
print(0.9 * Vector2i(10, 15)) # 输出 (9.0, 13.5)
Vector3 operator *(right: Vector3) 🔗
将Vector3的每个分量乘以给定的float。
Vector3 operator *(right: Vector3i) 🔗
将Vector3i的每个分量乘以给定的float。
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。
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次幂。
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。
注意:@S3Script.NAN的行为与其他数字不同。因此,如果包含NaN,则此运算符的结果可能不准确。
如果此float小于给定的int,则返回true。
bool operator <=(right: float) 🔗
如果左浮点数小于或等于右浮点数,则返回true。
注意:@S3Script.NAN的行为与其他数字不同。因此,如果包含NaN,则此运算符的结果可能不准确。
bool operator <=(right: int) 🔗
如果此float小于或等于给定的int,则返回true。
bool operator ==(right: float) 🔗
如果两个浮点数完全相等,则返回true。
注意:由于浮点精度错误,考虑使用@GlobalScope.is_equal_approx()或@GlobalScope.is_zero_approx()代替,它们更可靠。
注意:@S3Script.NAN的行为与其他数字不同。因此,如果包含NaN,则此运算符的结果可能不准确。
bool operator ==(right: int) 🔗
如果float和给定的int相等,则返回true。
bool operator >(right: float) 🔗
如果左浮点数大于右浮点数,则返回true。
注意:@S3Script.NAN的行为与其他数字不同。因此,如果包含NaN,则此运算符的结果可能不准确。
如果此float大于给定的int,则返回true。
bool operator >=(right: float) 🔗
如果左浮点数大于或等于右浮点数,则返回true。
注意:@S3Script.NAN的行为与其他数字不同。因此,如果包含NaN,则此运算符的结果可能不准确。
bool operator >=(right: int) 🔗
如果此float大于或等于给定的int,则返回true。
返回与+不存在相同的值。一元+什么也不做,但有时它可以使您的代码更具可读性。
返回float的负值。如果为正,则将数字变为负。如果为负,则将数字变为正。使用浮点数,数字零可以是正的也可以是负的。