C#decimal取上限2

我想将我的十进制值舍入为2.2222到2.23.当我使用圆形时,

decimal a = Math.Round((decimal)2.222, 2);

当我使用天花板时,它会导致3

decimal c = Math.Ceiling((decimal)2.22);

我怎样才能得到2.2222到2.23?

最佳答案

public static decimal CeilingAfterPoint(this decimal number, int digitsAfterPoint) {
    return Math.Ceiling(number * (decimal)Math.Pow(10, digitsAfterPoint))
           / (decimal)Math.Pow(10, digitsAfterPoint);
}
点赞