首页 > 后端开发 > C++ > 为什么 C# 整数除法会向下舍入,如何避免?

为什么 C# 整数除法会向下舍入,如何避免?

Mary-Kate Olsen
发布: 2025-01-05 18:24:40
原创
709 人浏览过

Why Does C# Integer Division Round Down, and How Can I Avoid It?

C# 中的除法向下舍入

在 C# 中执行除法时,程序员可能会遇到意外的向下舍入行为。当执行整数除法时会出现此问题,导致小数部分丢失。

为了说明这一点,请考虑以下代码:

double i;
i = 200 / 3; // Integer division
MessageBox.Show(i.ToString());
登录后复制

此代码将显示一个带有值的消息框“66”。然而,200 / 3 的预期结果应该是 66.66666...

解决方案:使用双除法

为了避免这种向下舍入并保持浮点精度,应该使用双除法而不是整数除法。这可以通过以下方式实现:

  1. 将其中一个操作数转换为双精度:
i = (double)200 / 3;
登录后复制
  1. 在一个操作数中使用尾随小数点:
i = 200.0 / 3;
登录后复制
  1. 附加 d一个操作数的后缀:
i = 200d / 3;
登录后复制

通过使用双除法,除法运算符 / 将执行浮点除法,保留所有有效数字。

以上是为什么 C# 整数除法会向下舍入,如何避免?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板