float

浮点数的内置类型。

描述

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

引擎中的许多方法和属性使用32位单精度浮点数代替,相当于C++中的float,其精度为6位可靠的十进制数。对于Vector2Vector3等数据结构,i3D默认使用32位浮点数,但如果使用精度=双选项编译i3D,则可以更改为使用64位双精度。

使用float类型完成的数学不能保证是准确的,并且通常会导致小错误。您通常应该使用@GlobalScope.is_equal_approx()@GlobalScope.is_zero_approx()方法而不是==来比较float值是否相等。

构造函数

运算符


构造函数说明

float float() 🔗

构造一个默认初始化的float设置为0.0


float float(from: float)

构造一个float作为给定float的副本。


float float(from: String)

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


float float(from: bool)

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


float float(from: int)

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) 🔗

计算一个floatfloat次幂。

print(39.0625**0.25) # 2.5

float operator **(right: int) 🔗

计算一个floatint次幂。

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,则此运算符的结果可能不准确。


bool operator <(right: int) 🔗

如果此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,则此运算符的结果可能不准确。


bool operator >(right: int) 🔗

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


bool operator >=(right: float) 🔗

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

注意:@S3Script.NAN的行为与其他数字不同。因此,如果包含NaN,则此运算符的结果可能不准确。


bool operator >=(right: int) 🔗

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


float operator unary+() 🔗

返回与+不存在相同的值。一元+什么也不做,但有时它可以使您的代码更具可读性。


float operator unary-() 🔗

返回float的负值。如果为正,则将数字变为负。如果为负,则将数字变为正。使用浮点数,数字零可以是正的也可以是负的。