C# 中的除法向下舍入
在 C# 中执行除法时,程序员可能会遇到意外的向下舍入行为。当执行整数除法时会出现此问题,导致小数部分丢失。
为了说明这一点,请考虑以下代码:
double i; i = 200 / 3; // Integer division MessageBox.Show(i.ToString());
此代码将显示一个带有值的消息框“66”。然而,200 / 3 的预期结果应该是 66.66666...
解决方案:使用双除法
为了避免这种向下舍入并保持浮点精度,应该使用双除法而不是整数除法。这可以通过以下方式实现:
i = (double)200 / 3;
i = 200.0 / 3;
i = 200d / 3;
通过使用双除法,除法运算符 / 将执行浮点除法,保留所有有效数字。
以上是为什么 C# 整数除法会向下舍入,如何避免?的详细内容。更多信息请关注PHP中文网其他相关文章!