>在分区中意外的零:一个常见的陷阱
>
问题:
考虑此代码:
<code class="language-c#">decimal share = (18 / 58) * 100;</code>这个分区的结果令人惊讶地为零。
>
解决方案:
根本原因是整数划分。 分开整数时,结果将被截断(分数部分被丢弃),从而导致整数结果。在这种情况下,18除以58小于1,因此将其截断为0。 为了纠正此问题,我们必须明确使用十进制值:
后缀将每个数字指定为十进制文字,可确保浮点划分和精确的非零结果。 这迫使计算使用浮点算术,从而提供了准确的分数答案。
以上是为什么整数划分会导致零?的详细内容。更多信息请关注PHP中文网其他相关文章!