Ham*_*udy 3 c# console for-loop visual-studio-2010
我不应该得到负数,请看下面的截图:
见下图:

这是代码:
for (double i=8.0; i<=12;i=i+0.5)
{
double aa= (i - Convert.ToInt32(i)) ;
Console.WriteLine(" "+i+" "+aa);
}
Run Code Online (Sandbox Code Playgroud)
ang*_*son 14
如果您查看文档:
返回值
类型:System.Int32
值,四舍五入为最接近的32位有符号整数.如果值在两个整数之间,则返回偶数; 也就是说,4.5转换为4,5.5转换为6.
这意味着每个其他数字将向上舍入,然后向下,然后向上,然后向下,这意味着您将获得一半时间的负数.
这种方法的目的是通过始终在特定方向上舍入来均衡偏差.考虑总结大量的值,先将它们四舍五入.如果您总是向上舍入,则最终总和将始终大于对未舍入值求和然后舍入总和.但是,如果根据上面列出的规则将上半部分向下舍入一半,则舍入数字的最终总和更可能更接近舍入的总和.
您还可以在维基百科:Round上阅读更多相关信息.它有时被称为银行家四舍五入,但据我所知,银行不使用这种方法.
确保您按照自己的意愿进行四舍五入:
| 归档时间: |
|
| 查看次数: |
306 次 |
| 最近记录: |