Search code examples
c#rounding

C# - Round float every time down


How to round a floating point number each time to nearest integer, but only down way. I need the fastest method.

So that float 1.2 will be 1 and 1.8 will be 1 too.

1.2f will be 1.0f

1.8f will be 1.0f

Thanks!


Solution

  • Math.Floor() is your friend here.

    Sample code:

    using System;
    using System.Text;
    
    namespace math
    {
        class Program
        {
            static void Main(string[] args)
            {
                //
                // Two values.
                //
                float value1 = 123.456F;
                float value2 = 123.987F;
                //
                // Take floors of these values.
                //
                float floor1 = (float)Math.Floor(value1);
                float floor2 = (float)Math.Floor(value2);
    
                //
                // Write first value and floor.
                //
                Console.WriteLine(value1);
                Console.WriteLine(floor1);
                //
                // Write second value and floor.
                //
                Console.WriteLine(value2);
                Console.WriteLine(floor2);
    
                return;        
            }
        }
    }