- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在C#中,MidpointRounding.ToEven
和MidpointRounding.AwayFromZero
这两种小数舍入策略在精度上有区别吗?我的意思是两者都确保在四舍五入的数字之间均匀分布,还是一种舍入策略比另一种表示舍入的数字更重要?
最佳答案
来自 Math.Round
的 .NET 文档页面:
默认情况下,Math.Round
使用 MidpointRounding.ToEven
。大多数人不熟悉“四舍五入”作为替代方法,“从零开始四舍五入”在学校更常见。 .NET 默认为“四舍五入为偶数”,因为它在统计上更胜一筹,因为它不具有“从零开始四舍五入”的趋势,即四舍五入的频率略高于四舍五入的频率(假设四舍五入的数字往往是正数。 )
根据数据集,对称算术舍入可能会引入主要偏差,因为它总是向上舍入中点值。举一个简单的例子,假设我们想要确定三个值的平均值,1.5、2.5 和 3.5,但是我们想在计算它们的平均值之前先将它们四舍五入到最接近的整数。请注意,这些值的真实平均值是 2.5。使用对称算术舍入,这些值变为 2、3 和 4,它们的平均值为 3。使用银行家舍入,这些值变为 2、2 和 4,它们的平均值为 2.67。由于后一种舍入方法更接近三个值的真实平均值,因此它提供的数据损失最少。
关于C# 舍入 MidpointRounding.ToEven 与 MidpointRounding.AwayFromZero,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7360432/
在C#中,MidpointRounding.ToEven和MidpointRounding.AwayFromZero这两种小数舍入策略在精度上有区别吗?我的意思是两者都确保在四舍五入的数字之间均匀分布
我遇到了一个相当烦人的问题。 假设我有小数 2.5,我希望它四舍五入。我的所有研究都告诉我: Math.Round(2.5, 0, MidpointRounding.AwayFromZero) 会给我
我是一名优秀的程序员,十分优秀!