编程语言
首页 > 编程语言> > c#-计算结果始终为0

c#-计算结果始终为0

作者:互联网

我正在尝试编写一个非常简单的程序来计算液体尼古丁强度.基本上是(strengh / nicStrengh)*数量.并且总是以0表示.

    private void lblCalculate_Click(object sender, EventArgs e)
    {
        int strengh = Convert.ToInt32(txtBoxDesiredStrengh.Text);
        int nicStrengh = Convert.ToInt32(txtBoxNicStrengh.Text);
        int amount = Convert.ToInt32(txtBoxAmount.Text);

        int result = strengh / nicStrengh * amount;

        string resultStr = result.ToString();

        label1.Text = resultStr;
    }

解决方法:

将整数除以整数时,结果也是整数;例如

 5 / 10 == 0       // not 0.5 - integer division
 5.0 / 10.0 == 0.5 // floating point division

就您而言,强度<数量,这就是强度/数量== 0的原因.如果希望结果为整数(例如3),则将其设置为

  int result = strengh * amount / nicStrengh;

如果您想要双精度结果(即浮点值,例如3.15),请让系统知道您需要浮点算术:

  double result = (double)strengh / nicStrengh * amount;

标签:calculation,c
来源: https://codeday.me/bug/20191210/2104576.html