برای مقایسه‌ی دو عدد ممیز شناور نیاز به یک مقدار انحراف مجاز (tolerance) وجود دارد تا مشخص شود دو عدد تا چند رقم اعشار باید باهم مقایسه شوند.

مقادیر ممیز شناور ذاتاً دقیق نیستند، و مقایسه‌ی دقیق آن‌ها ممکن است نتیجه درستی به همراه نداشته باشد. با استفاده از تعریف یک مقدار انحراف مجاز (tolerance) و بررسی اختلاف دو عدد با مقدار انحراف مجاز، می‌توان دو مقدار ممیز شناور را به درستی باهم مقایسه نمود:

 1public static class FloatUtils
 2{
 3    public static bool AreFloatsEqual(float a, float b, float tolerance)
 4    {
 5        return Math.Abs(a - b) <= tolerance;
 6    }
 7
 8    public static bool IsFloatGreaterThan(float a, float b, float tolerance)
 9    {
10        return (a - b) > tolerance;
11    }
12
13    public static bool IsFloatGreaterThanOrEqual(float a, float b, float tolerance)
14    {
15        return ((a - b) > tolerance) || Math.Abs(a - b) <= tolerance;
16    }
17
18    public static bool IsFloatLessThan(float a, float b, float tolerance)
19    {
20        return (b - a) > tolerance;
21    }
22
23    public static bool IsFloatLessThanOrEqual(float a, float b, float tolerance)
24    {
25        return ((b - a) > tolerance) || Math.Abs(a - b) <= tolerance;
26    }
27}

به منظور تست کدهای بالا می‌توان از پیاده‌سازی زیر استفاده نمود:

 1using System;
 2
 3public class Program
 4{
 5    public static void Main()
 6    {
 7        float a = 0.1f;
 8        float b = 0.1000001f;
 9        float tolerance = 0.00001f;
10
11        bool areEqual = FloatUtils.AreFloatsEqual(a, b, tolerance);
12        bool isGreaterThan = FloatUtils.IsFloatGreaterThan(a, b, tolerance);
13        bool isLessThan = FloatUtils.IsFloatLessThan(a, b, tolerance);
14
15        Console.WriteLine($"Are the floats equal? {areEqual}");
16        Console.WriteLine($"Is a greater than b? {isGreaterThan}");
17        Console.WriteLine($"Is a less than b? {isLessThan}");
18    }
19}