将int转换为float并显示结果不起作用?

bru*_*ski 1 c# methods

所以我在一个名为Rational的类中有一个方法,它传入两个int,我想返回一个float,但是这个方法返回0,我不明白为什么!

public static float DisplayFloat(int numer, int denom)
        {
            float result = numer / denom;
            return result;

        }
Run Code Online (Sandbox Code Playgroud)

它在我的主要中被称为这样:

Console.WriteLine(Rational.DisplayFloat(12, 36));
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我没有在Visual Studio中出现错误,所以我傻眼了.

Tho*_*que 6

numer并且denom都是整数,所以当你将一个除以另一个时,结果是一个int; 结果然后转换为浮点数,但为时已晚,因为你已经丢失了小数部分.如果你想要一个float结果,在进行除法之前强制转换一个操作数:

float result = (float)numer / denom;
Run Code Online (Sandbox Code Playgroud)