Mathf.Approximately
作用
用于判断两个浮点数是否“近似相等”
用法
public static bool Approximately(float a, float b, float tolerance = 1e-05f);
a
和b
是要比较的两个浮点数。tolerance
是一个可选参数,表示允许的误差范围。默认值是1e-05f
,这是一个非常小的正数,用于确定两个数被认为是“近似相等”的最大差异。
如果 a
和 b
的差的绝对值小于 tolerance
,则 Mathf.Approximately
返回 true
,否则返回 false
。
实例
float num1 = 0.1f;
float num2 = 0.1000001f; // 稍微有一点差异的另一个数// 直接比较时,因为二者不相等,所以isEqualDirectly 会返回 false
bool isEqualDirectly = num1 == num2; // 使用 Mathf.Approximately 进行近似比较,二者接近相等,所以返回true(如果误差在允许的范围内)
bool isApproximate = Mathf.Approximately(num1, num2); // 也可以指定一个自定义的误差范围:只要二者之差小于0.001,就认为二者相等
float customTolerance = 0.001f;
bool isApproximateWithCustomTolerance = Mathf.Approximately(num1, num2, customTolerance);
应用
忽视游戏中角色的轻微移动
忽略物理模拟中的一些微小变化
比较两个关键帧的属性是否近似相等,以确定是否需要进行动画的平滑的过渡