2015-07-13 46 views

回答

4

5/2執行integer division不管您分配它的類型。它總是忽視小數部分。

您需要改用浮點除法。

double x = 5.0/2; 
double x = 5/2.0; 
double x = 5.0/2.0; 

/ Operator

當你把兩個整數,結果是總是整數。對於 例如,7/3的結果爲2.

從C#規範部分$7.7.2 Division operator,有3種類型的劃分;

  • 整數除法
  • 浮點除法
  • 小數除法

而且從在整數除法的相關部分;

劃分舍入結果趨向於零,而 絕對值的結果是最大的可能整數小於所述兩個操作數的商數的 絕對值。當兩個操作數具有相同的符號和零時結果爲零,或者當兩個操作數具有相反的符號時爲負,或者爲 。

+0

謝謝@SonerGönül,很好的解釋 –