I have a C# app that is calculating some numbers. I need to round down.

var increment = 1.25;var result = 50.45 - 23.70; // equals 26.75int interval = difference / increment; // result is 21.4. However, I just want 21

I have to get the interval to an int. At the same time, I cannot just use Convert.ToInt32 because of its rounding behavior. I always want the lowest whole number. However, I'm not sure how.

4

Best Answer


Just try this..

 int interval = Convert.ToInt32(Math.Floor(different/increment));

You can also just simply cast the result to int. This will truncate the number.

int interval = (int)(difference / increment);

Use the static Math class:

int interval = (int)Math.Floor(difference/increment);

Math.Floor() will round down to the nearest integer.

The Math.Floor() function should do the trick:

int interval = (int)Math.Floor(difference / increment);

See also: https://msdn.microsoft.com/de-de/library/e0b5f0xb%28v=vs.110%29.aspx