如何将十进制值舍入到最接近的0.05值?
有没有办法将十进制值四舍五入到.Net中最近的0.05值?
例如:
7.125 – > 7.15
6.66 – > 6.7
如果它现在可用,任何人都可以提供算法吗?
怎么样:
Math.Ceiling(myValue * 20) / 20
用这个:
Math.Round(mydecimal / 0.05m, 0) * 0.05m;
在T-SQL中可以使用相同的逻辑:
ROUND(@mydecimal / 0.05, 0) * 0.05
我更喜欢这种选择答案的方法,因为你可以直接看到所用的精度。
这样的东西应该适用于任何步骤,而不仅仅是0.05:
private decimal RoundUp (decimal value, decimal step) { var multiplicand = Math.Ceiling (value / step); return step * multiplicand; }
Math .. ::。Round Method(Decimal,Int32,MidpointRounding)
将双精度浮点值舍入到指定的小数位数。 参数指定如果值在两个其他数字之间的中间值,则如何舍入值。
Math.Round(1.489,2,MidpointRounding.AwayFromZero)
在这里和这里重复ruby和python。 它应该不会太不同。
上述就是C#学习教程:如何将十进制值舍入到最接近的0.05值?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1024620.html