将double加倍到int

时间:2012-02-15 14:56:27

标签: c# math double int approximation

我有一个来自int / int的数字(“double”)(例如10/3)。

通过Excess逼近并在C#上将其转换为int的最佳方法是什么?

4 个答案:

答案 0 :(得分:56)

您是在询问System.Math.Ceiling吗?

Math.Ceiling(0.2) == 1
Math.Ceiling(0.8) == 1
Math.Ceiling(2.6) == 3
Math.Ceiling(-1.4) == -1

答案 1 :(得分:8)

int scaled = (int)Math.Ceiling( (double) 10 / 3 ) ;

答案 2 :(得分:1)

通过“按超额近似”,我假设您正在尝试“舍入” double类型的数量。因此,@ Doug McClean的“天花板”方法很好用。

以下为注释: 如果您以double x = 0.8;开头,并通过(int)x;进行类型转换,则会得到0。或者,如果您进行(int)Math.Round(x);,则会得到1。 如果您以double y = 0.4;开头,并通过(int)y;进行类型转换,则会得到0。或者,如果您进行(int)Math.Round(y);,则会得到0

答案 3 :(得分:0)

考虑2.42,你可以说它是242/100 btw你可以将它简化为121/50。