标签:calculation c
我正在尝试编写一个非常简单的程序来计算液体尼古丁强度.基本上是(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
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。