2012-02-15 14 views
15

Tôi có một số ("double") từ int/int (chẳng hạn như 10/3).Làm tròn một đôi thành int

Cách tốt nhất để ước tính bằng cách vượt quá và chuyển đổi nó thành int trên C# là gì?

+0

'xấp xỉ bởi dư thừa' là gì? –

+0

Uhm ... có lẽ tôi không biết gọi nó bằng tiếng Anh như thế nào? :) Vâng, nếu bạn có 0,2-> 1; 0,8-> 1 ... và cứ thế ... "tròn" cho int tiếp theo? – markzzz

+5

Bạn có nghĩa là '(int) Math.Ceiling (x)'? – CodesInChaos

Trả lời

43

Bạn có hỏi về System.Math.Ceiling không?

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

Math.Ceiling (-1.4) == - 2 - ngôn ngữ đó là gì? Nói cho tôi biết đó là tên để tôi có thể tránh nó như bệnh dịch hạch. –

+1

Rất tiếc, tôi đã làm hỏng điều đó. Tôi nhìn nó lên, nhưng tôi đã hiểu sai ví dụ. –

0

Hãy xem 2.42, bạn có thể nói là 242/100 btw bạn có thể đơn giản hóa nó thành 121/50.

+2

Tôi nghĩ bạn đang đùa tôi? Vâng ... – markzzz

+1

câu hỏi của bạn không rõ ràng! Tôi nghĩ bạn có nghĩa là Math.Ceiling – mrbm

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

Tôi nghĩ bạn cần bỏ nó để làm việc này, tức là 'int scaled = (int) Math.Ceiling ((double 10/3);' –