Mathf.Epsilon
Declaration
public static float Epsilon;Описание
Наименьшее положительное ненулевое значение, которое может быть представлено поплавком.
Значение Mathf.Epsilon:
- 1.401298e-45f на платформах, где спуск к нулю (FTZ) отключен.
- 1.17549435E-38f на платформах, где FTZ включен.
Использование Mathf.Epsilon в качестве дельты для равенства делает сравнение фактически идентичным точному равенству на числах нормального диапазона. Для приблизительно равного значения используйте Mathf.Approximately или допуск, который отражает масштаб ваших данных, обычно комбинацию абсолютных и относительных допусков.
Операции с Epsilon следуют этим правилам:
- anyValue + Эпсилон = anyValue
- anyValue — Эпсилон = anyValue
- 0 + Эпсилон = Эпсилон
- 0 — Эпсилон = -Epsilon
Значение между любым числом и Epsilon приведет к произвольному числу из-за потери последующих цифр.
using UnityEngine;
public class Example : MonoBehaviour { // Avoid division by (near) zero using Mathf.Epsilon as a zero guard. float SafeDivide(float numerator, float denominator) { if (Mathf.Abs(denominator) <= Mathf.Epsilon) return 0f; // or handle appropriately
return numerator / denominator; } }