Звучит так, как вы, возможно, захотите:
decimal scale = 1000000m;
decimal rounded = decimal.Ceiling(x * scale) / scale;
(Масштаб может быть выключен на единицу:)
Очевидно, это вызовет проблему, если вы попытаетесь обработать с ним очень большие числа- они могут переполниться.
Я бы хотел думаю, вы также можете сделать то же самое, добавив определенную сумму и затем используя decimal.Round
, но это немного неловко без MidpointRounding
из RoundTowardsZero
.