Ram*_*Vel 5 c# numbers rounding
如何将十进制值舍入到最接近的0.05值?,链接的SO帖子也讨论了类似的主题,但它不是我预期的输出.
我需要像这样转换小数值
16.489-->16.49
16.482-->16.48
16.425-->16.43
7.67 --> 7.67 (no conversion)
Run Code Online (Sandbox Code Playgroud)
我可以使用下面的C#方法来转换值
Math.Round(16.482*20)/20;
Run Code Online (Sandbox Code Playgroud)
但这种方法对我不起作用,它给出了以下结果
16.489-->16.5
16.482-->16.5
7.67 --> 7.7
16.425-->16.45
Run Code Online (Sandbox Code Playgroud)
在c#中用优雅的方式来做到这一点.
Fre*_*dou 14
Math .. ::.Round方法(Decimal,Int32,MidpointRounding)
将双精度浮点值舍入到指定的小数位数.参数指定如果值在两个其他数字之间的中间位置,则如何舍入值.
Math.Round(1.489,2,MidpointRounding.AwayFromZero)
Run Code Online (Sandbox Code Playgroud)