可能重复:
c# - How do I round a decimal value to 2 decimal places (for output on a page)
How to round decimal value up to nearest 0.05 value??,链接的SO帖子也讨论了类似的主题,但它不是我预期的输出。
我需要像这样转换小数值
16.489-->16.49
16.482-->16.48
16.425-->16.43
7.67 --> 7.67 (no conversion)
我可以使用下面的C#方法转换值
Math.Round(16.482*20)/20;
但这种方法对我不起作用,它给出了以下结果
16.489-->16.5
16.482-->16.5
7.67 --> 7.7
16.425-->16.45
c#中的优雅方式是做到这一点。
答案 0 :(得分:14)
Math..::.Round Method (Decimal, Int32, MidpointRounding)
将双精度浮点值舍入到指定的小数位数。如果值在两个其他数字之间的中间位置,则参数指定如何舍入值。
Math.Round(1.489,2,MidpointRounding.AwayFromZero)
答案 1 :(得分:2)
你试过吗
Math.Round(16.482*200)/200;