四舍五入到最接近的五
我需要将双精度舍入到最接近的五。我找不到使用 Math.Round 函数来完成此操作的方法。我该怎么做?
我想要什么:
70 = 70
73.5 = 75
72 = 70
75.9 = 75
69 = 70
等等..
有没有简单的方法可以做到这一点?
I need to round a double to nearest five. I can't find a way to do it with the Math.Round function. How can I do this?
What I want:
70 = 70
73.5 = 75
72 = 70
75.9 = 75
69 = 70
and so on..
Is there an easy way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
尝试:
Try:
这有效并消除了对外部铸件的需要:
This works and removes the need for an outer cast:
这是一个简单的程序,可让您验证代码。
请注意 MidpointRounding 参数,如果没有它,您将四舍五入到最接近的偶数,在您的情况下意味着相差五(在 72.5 示例中)。
Here is a simple program that allows you to verify the code.
Be aware of the MidpointRounding parameter, without it you will get rounding to the closest even number, which in your case means difference of five (in the 72.5 example).
您还可以编写一个通用函数:
选项 1 - 方法
并按如下方式使用:
选项 2 - 扩展方法
并按以下方式使用:
You can also write a generic function:
Option 1 - Method
And use it like:
Option 2 - Extension method
And use it like:
我是这样做的:
对于上面的下一个值(步骤 5),只需添加 5。
I did this this way:
for the next value (step 5) above, just add 5.