在C#中舍入到2个小数位

我有一个十进制数字,可以像下面这样:

189.182

我想将其舍入到2位小数,因此输出如下:

189.19

Math类中是否内置了此function,还是其他function? 我知道天花板function存在,但这似乎没有做我想要的 – 它会绕到最近的int,所以在这种情况下只是’189’。

乘以100,呼叫上限,除以100,我认为你要求的

 public static double RoundUp(double input, int places) { double multiplier = Math.Pow(10, Convert.ToDouble(places)); return Math.Ceiling(input * multiplier) / multiplier; } 

用法如下:

 RoundUp(189.182, 2); 

这是通过将小数点右移2位(因此它位于最后8位的右侧)然后执行上限操作,然后将小数点移回其原始位置。

您可以使用:

 n = System.Math.Ceiling (n * 100) / 100; 

可以在此处找到各种舍入函数的说明。

怎么样

 0.01 * ceil(100 * 189.182)