2011-12-29 105 views

回答

40

簡單,使用Math.Ceiling

var wholeNumber = (int)Math.Ceiling(fractionalNumber); 
+0

我知道這是脫離主題,但我可以問你爲什麼使用'var'而不是'int'? – ken2k 2011-12-29 09:56:36

+3

純粹出於習慣。例如'var myDictionary = new Dictionary >()'時,'var'可以用於聲明較長類型的對象。 – 2011-12-29 09:57:40

+0

好的,謝謝你的回覆! – ken2k 2011-12-29 10:01:02

5

像這樣的事情?

int myInt = (int)Math.Ceiling(myDecimal); 
+0

爲什麼只轉換爲字符串才能解析?只需投它。 – 2011-12-29 09:40:40

+0

這當然更好。現在編輯我的答案。 – 2011-12-29 09:42:47

0

Math.Ceiling不適合我的工作,我用這個代碼,這項工作:)

int MyRoundedNumber= (int) MyDecimalNumber; 
       if (Convert.ToInt32(MyDecimalNumber.ToString().Split('.')[1]) != 0) 
        MyRoundedNumber++; 

,如果你要舍負數向下例如圓形-1.1至-2使用這

int MyRoundedNumber= (int) MyDecimalNumber; 
        if (Convert.ToInt32(MyDecimalNumber.ToString().Split('.')[1]) != 0) 
         if(MyRoundedNumber>=0) 
          MyRoundedNumber++; 
         else 
          MyRoundedNumber--; 
-2
var d = 1.5m; 
var i = (int)Math.Ceiling(d); 
Console.Write(i); 
+0

這只是*數*,它並不一定圍繞它** **。 – radoh 2016-03-23 14:39:26

0

之前說這是行不通的,你必須檢查,在操作中的所有值是double類型。 這裏是C#中的一個例子:

int speed= Convert.ToInt32(Math.Ceiling((double)distance/ (double)time)); 
相關問題