gpt4 book ai didi

for 循环中的 C# 错误

转载 作者:行者123 更新时间:2023-11-30 13:15:06 26 4
gpt4 key购买 nike

我不应该得到负数,请看下面的截图:

见下图:

enter image description here

代码如下:

    for (double i=8.0; i<=12;i=i+0.5)
{
double aa= (i - Convert.ToInt32(i)) ;
Console.WriteLine(" "+i+" "+aa);
}

最佳答案

如果您检查 documentation :

Return Value
Type: System.Int32
value, rounded to the nearest 32-bit signed integer. If value is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6.

这意味着每隔一个数字都会向上舍入,然后向下舍入,然后向上舍入,然后向下舍入,这意味着您将有一半的时间得到负数。

此方法的目的是消除总是在特定方向上舍入所引入的偏差。考虑对大量值求和,首先对它们进行四舍五入。如果你总是四舍五入,最终的总和将总是大于对未四舍五入的值求和然后四舍五入的总和。但是,如果您根据上述规则向上取整和向下取整,则四舍五入后的数字的最终总和更有可能更接近四舍五入的总和。

您还可以在 wikipedia: Round 上阅读更多相关信息.它有时被称为银行家四舍五入,尽管据我所知银行不使用这种方法。

为确保您按照自己的意愿四舍五入:

关于for 循环中的 C# 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15373482/

26 4 0
文章推荐: ios - 在 iOS 上获取 url 的缩影
文章推荐: ios - DocuSign 复写本未收到通知
文章推荐: javascript - 我们如何为鼠标滚轮敏感的
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com