遵循以下提到的链接:
Link1Link2Link3而这样的例子不胜枚举。我认为我不完全了解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
,但仍然没有得到想要的结果。有人可以为我如何完成此任务做解释或提供指导吗?
谢谢你。
要始终取整,应使用Math.Ceiling
而不是Math.Round
:
static int RoundUpToMultipleOf5(decimal value) => (int)Math.Ceiling(value / 5) * 5