Csharp/C#教程:如何将十进制值舍入到最接近的0.05值?分享


如何将十进制值舍入到最接近的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

(0)
上一篇 2022年1月8日
下一篇 2022年1月8日

精彩推荐