Reputation: 14204
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.75
int 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.
Upvotes: 61
Views: 161134
Reputation: 1039
You can also just simply cast the result to int
. This will truncate the number.
int interval = (int)(difference / increment);
Upvotes: 33
Reputation:
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
Upvotes: 10
Reputation: 14488
Use the static Math
class:
int interval = (int)Math.Floor(difference/increment);
Math.Floor()
will round down to the nearest integer.
Upvotes: 31
Reputation: 1375
Just try this..
int interval = Convert.ToInt32(Math.Floor(different/increment));
Upvotes: 97