2015-06-23 35 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。检查修改后的答案。 –