如何在C#中将任意值舍入到10个区间?例如,如果我有11,我希望它返回10,如果我有136,那么我希望它返回140.
我可以轻松地手工完成
return ((int)(number / 10)) * 10;
Run Code Online (Sandbox Code Playgroud)
但我正在寻找一种内置算法来完成这项工作,比如Math.Round().我不想手工做的原因是我不想在我的项目中编写相同或类似的代码,即使是像上面那样简单的东西.
点击以下链接后:
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,但仍然没有得到想要的结果。有人可以解释或提供指导我如何完成这项任务吗?
先感谢您。