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); } 
 decimal c = Math.Ceiling((decimal)2.2222*100)/100; 

但这很愚蠢。

尝试类似的东西

 decimal c = Math.Ceiling((decimal)2.222*100)/100; 

但如果你的价值是2.22就失败了

我解决了我的问题..

  string n = "2.2222"; string[] s = n.Split('.'); if (s[1].Count() >= 3) { List z = s[1].ToString().Take(2).ToList(); int c=Convert.ToInt32(z[0].ToString() + z[1].ToString()) + 1; // int b = Convert.ToInt32(s[1].ElementAt(0).ToString() + s[1].ElementAt(1).ToString()) + 1; string output= s[0] + "." + c.ToString(); } 

现在任何数字都可以,它将需要2个十进制值并添加1.谢谢。