四舍五入到C#的整数

问题描述 投票:-1回答:1

遵循以下提到的链接:

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,但仍然没有得到想要的结果。有人可以为我如何完成此任务做解释或提供指导吗?

谢谢你。

c# rounding
1个回答
0
投票

要始终取整,应使用Math.Ceiling而不是Math.Round

static int RoundUpToMultipleOf5(decimal value) => (int)Math.Ceiling(value / 5) * 5
© www.soinside.com 2019 - 2024. All rights reserved.