跟随以下提到的链接:
Link1 Link2 Link3 而这样的例子不胜枚举。我认为我不完全了解Math.Round的想法。
让我们说我有以下值[73.59,46.28] ,现在我想将它们都推到下一个5。
使用Math.Round(Value / 5) * 5
后,最终结果如下:
73.59 => 70
46.28 => 45
这适用于应如何使用Math.Round。但是,我正在使用货币,希望它能成为下一个5级货币。因此,所需的结果将是以下内容:
73.59 => 75
46.28 => 50
我也尝试过玩MidpointRounding.AwayFromZero
,但仍然没有得到想要的结果。有人可以为我如何完成这项任务解释或提供指导吗?
谢谢。
答案 0 :(得分:3)
要始终取整,应使用Math.Ceiling
而不是Math.Round
:
static int RoundUpToMultipleOf5(decimal value) => (int)Math.Ceiling(value / 5) * 5