我'產生小數點,如:如何小數四捨五入爲int在C#
0.8235294117647058823529411765
0.1764705882352941176470588235
我想通過10
它們相乘然後圍繞它們。如果點之後的第二個數字小於5
,則使其爲0
。否則,使它1
。對於上面的例子,這將是:
8
2
結果應該在int
放。
我'產生小數點,如:如何小數四捨五入爲int在C#
0.8235294117647058823529411765
0.1764705882352941176470588235
我想通過10
它們相乘然後圍繞它們。如果點之後的第二個數字小於5
,則使其爲0
。否則,使它1
。對於上面的例子,這將是:
8
2
結果應該在int
放。
您可以使用Math.Round()
如果你想保持它作爲一個decimal
或圓形一定的精度。
decimal dec = 0.8235294117647058823529411765m;
decimal rounded = Math.Round(dec * 10); // 8m
decimal roundedToOne = Math.Round(dec * 10, 1); // 8.2m
僅供參考,一個explicit conversion爲decimal
到int
定義這樣你就可以通過轉換成一int
int a = (int)(dec * 10); // 8
這可能與條件相結合,以圓人數達向下取整和down
decimal num = dec * 10;
int a = (int)num + (num % 0 < .5m ? 0 : 1); // 8
這會截斷數字,不是嗎? – Ryan 2013-05-08 02:24:43
真的,我會解決它。 – 2013-05-08 02:26:05
所以...'Math.Round(n * 10)'。參考:[Multiplication](http://msdn.microsoft.com/en-CA/library/aa691372%28v=vs.71%29.aspx),[rounding](http://msdn.microsoft.com/zh-cn/ -us /庫/ system.math.round.aspx)。 – Ryan 2013-05-08 02:20:40
這是一個很好的策略,在您提出問題後,請查看「相關」邊欄-----> – 2013-05-08 02:27:26
在問這樣的問題之前,您首先google了一下嗎?我不能投票,因爲我沒有125的聲望,但是一旦我做了,我會投票給它..哈哈! – thunderbird 2013-05-08 02:28:38