2015-06-23 31 views
-6

我在C#除法運算數

double ab = 10 % 25; 
label1.Text = ab.ToString(); 

爲什麼結果10送分在C#

10/25 = 0.4 

+0

你在'/'和'%'之間找不到任何區別嗎? –

回答

2

% operator是餘數運算符。它將第一個操作數除以第二個時計算餘數。

您需要使用/ operator與至少一個浮點數得到0.4結果。否則,該運算符會計算兩個整數操作數的integer division,並忽略小數部分。

10.0/25 = 0.4 
10.0/25.0 = 0.4 
10/25.0 = 0.4 
1

%modulo運營商。所以,10除以25,剩下的(不能完全除以25)正在退回。

請參見下面的例子:

25 % 25 = 0 
25 % 6 = 1 
25 % 10 = 5 

你看 - 10%25 = 10是正確的,因爲10是不是25整除,因此它返回10

這樣,它會工作:

double ab = 10/25; 
label1.Text = ab.ToString(); 
// label1.Text is now "0.4" 
+0

這是錯誤的。無論您想要分配哪種類型,「10/25」都會返回「0」。 –

0

要做到10/25 = 0.4

你必須做

double ab = (double)10/(double)25; 

因爲%是模運算符。 10 % 25 = 10只是正確的。

+0

這是錯的。無論您想要分配哪種類型,「10/25」都會返回「0」。 –

+0

如果兩個變量都是雙倍,則返回0.4。檢查修改後的答案。 –