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