答案 0 :(得分:6)
因为除非您指定希望操作导致Double
,否则操作会导致Integer
,因此小数结果会被删除,而您只剩下整数0
答案 1 :(得分:3)
它将整数除以整数并返回一个整数,我相信它总是返回最低值。试试Messagebox.Show((5.0/6.0).ToString());
答案 2 :(得分:3)
5/6
基本上是整数除法,结果是0
。两个操作数的类型都是int
。
我认为你想要的是:5.0/6.0
。
事实上,5.0/6.0
,5/6.0
,5.0/6
,都会给出相同的结果。也就是说,只要一个操作数是double
,它就是双除法,结果的类型也是double
。
答案 3 :(得分:2)
因为你正在进行整数除法。如果你想要非整数除法,你应该做类似5 / 6d
的事情答案 4 :(得分:2)
编译器假定数字是Int,它必须是整数。因此,它正在回答这个问题。要返回小数答案,请使用:
MessageBox.Show((5d/6d).ToString());