Amberite - 7 months ago 49

C# Question

I need to write an accounting routine for a program I am building that will give me an even division of a decimal by an integer. So that for example:

`$143.13 / 5 =`

28.62

28.62

28.63

28.63

28.63

I have seen the article here: http://stackoverflow.com/questions/577427/evenly-divide-in-c, but it seems like it only works for integer divisions. Any idea of an elegant solution to this problem?

Answer

Calculate the amounts one at a time, and subtract each amount from the total to make sure that you always have the correct total left:

```
decimal total = 143.13m;
int divider = 5;
while (divider > 0) {
decimal amount = Math.Round(total / divider, 2);
Console.WriteLine(amount);
total -= amount;
divider--;
}
```

result:

```
28,63
28,62
28,63
28,62
28,63
```

Source (Stackoverflow)