use*_*206 0 c# static scope for-loop
下面是我正在使用的代码.
我希望输出为1.65,但我得到0.
这似乎是一个范围问题.但是我已经将变量声明t为静态,那么为什么输出仍为0?
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public static double t;
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < 100; i = i + 1)
{
t = (i * (1 / 60));
}
MessageBox.Show(Convert.ToString(t));
}
}
}
Run Code Online (Sandbox Code Playgroud)
Ode*_*ded 10
1 / 60 永远是0.
你正在进行整数除法.
在除法运算中,你所需要的操作数的至少一个是double如果你想要一个double结果.
更改:
t = (i * (1 / 60));
Run Code Online (Sandbox Code Playgroud)
至:
t = (i * (1 / 60D));
Run Code Online (Sandbox Code Playgroud)
要么:
t = (i * (1D / 60));
Run Code Online (Sandbox Code Playgroud)
将解决问题.