为什么这不起作用?

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)

将解决问题.