所以我在一个名为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中出现错误,所以我傻眼了.
numer并且denom都是整数,所以当你将一个除以另一个时,结果是一个int; 结果然后转换为浮点数,但为时已晚,因为你已经丢失了小数部分.如果你想要一个float结果,在进行除法之前强制转换一个操作数:
float result = (float)numer / denom;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
247 次 |
| 最近记录: |