C# 除数输出中的问题
可能重复:C# 除数输出中的问题,c#,C#,可能重复: 为什么c#将此代码的输出显示为0 MessageBox.Show((5/6).ToString); 因为除非您指定希望该操作产生一个Double,否则该操作将产生一个整数,因此,小数结果将被删除,只剩下整数0。因为除非您指定希望运算结果为双精度,否则运算结果为整数,所以分数结果被删除,剩下的是0的整数。它是一个整数除以和整数,将返回一个整数,我相信它总是返回下限值。尝试Messagebox.Show((5.0/6.0.ToString())它将一个整数除以和整数,并将返回一个整
为什么c#将此代码的输出显示为0
MessageBox.Show((5/6).ToString);
因为除非您指定希望该操作产生一个
Double
,否则该操作将产生一个整数,因此,小数结果将被删除,只剩下整数0。因为除非您指定希望运算结果为双精度
,否则运算结果为整数
,所以分数结果被删除,剩下的是0的整数。它是一个整数除以和整数,将返回一个整数,我相信它总是返回下限值。尝试Messagebox.Show((5.0/6.0.ToString())代码>它将一个整数除以和整数,并将返回一个整数,我相信它总是返回下限值。尝试Messagebox.Show((5.0/6.0.ToString())代码>因为您正在进行整数除法。如果你想要非整数除法,你应该做5/6d之类的事情,因为你在做整数除法。如果你想要非整数除法,你应该做5/6d,5/6基本上是整数除法,结果是0
。两个操作数的类型都是int
我想你想要的是:5.0/6.0
事实上,5.0/6.0
,5/6.0
,5.0/6
,都会给出相同的结果。也就是说,只要一个操作数是double
,它就是一个双除法,结果的类型也是double
。5/6
基本上是整数除法,结果是0
。两个操作数的类型都是int
我想你想要的是:5.0/6.0
事实上,5.0/6.0
,5/6.0
,5.0/6
,都会给出相同的结果。也就是说,只要一个操作数是double
,它就是一个双除法,结果的类型也是double
。编译器假定数字是Int,必须是整数。因此,答案是四舍五入的。要返回十进制答案,请使用以下命令:
MessageBox.Show((5d/6d).ToString());
编译器假定数字是Int,而Int必须是整数。因此,答案是四舍五入的。要返回十进制答案,请使用以下命令:
MessageBox.Show((5d/6d).ToString());
您正在使不正确的语法永久化:xYou正在保留错误的语法:x