C# how to always round down to nearest 50

17,572

Solution 1

Divide the value by 50, round down to the closest whole number, and multiply by 50 again:

double n = Math.Floor(n / 50.0) * 50.0;

Solution 2

Another way to Guffa's:

(((int) value) / 50) * 50

Solution 3

Using modulus:

var roundedDownToClosestFifty = value - (value % 50);
Share:
17,572
saintsfanuk
Author by

saintsfanuk

.Net Software Developer :)

Updated on June 06, 2022

Comments

  • saintsfanuk
    saintsfanuk almost 2 years

    I've done a search on C# rounding, but haven't been able to find the answer to my current problem.

    What I want to do is always round down to the nearest 50. All the values I want to round down will be in decimal.

    So 635.25 would be 600.

    298.42 would be 250.

    149.56 would be 100.

    I've looked at math.round but how would I use that so it always rounds down to the nearest 50 and never up?