如何使用C#舍入到最接近的.5

汤匙

使用计时系统,很多小时的结果看起来像这样:

0.266666666666。

现在,我想将所有数字四舍五入为“下一个.5值”,以使0.2666666666变为0.5。

例子:

1.4 => Should become 1.5
1.45 => Should become 1.5
1.466666666 => Should become 1.5
1.0 => Should remain 1.0
1.6 => Should become 2.0

数字必须总是四舍五入。

对于在C#中实现这一目标的任何帮助,我将不胜感激!

中间

我冒昧地假设负值是有效输入,并且期望的行为是始终从零开始舍入。在输入为负的情况下,所有其他有效答案将四舍五入为零。

该实现丑陋但有效且易于理解:

public static double Round(double d)
{
    var absoluteValue = Math.Abs(d);
    var integralPart = (long)absoluteValue;
    var decimalPart = absoluteValue - integralPart;
    var sign = Math.Sign(d);

    double roundedNumber;

    if (decimalPart > 0.5)
    {
        roundedNumber = integralPart + 1;
    }
    else if (decimalPart == 0)
    {
        roundedNumber = absoluteValue;
    }
    else
    {
        roundedNumber = integralPart + 0.5;
    }

    return sign * roundedNumber;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaScript舍入到最接近的.5

来自分类Dev

如果前后仅5分钟,如何舍入到最接近的小时?

来自分类Dev

如果前后1分钟或2分钟,如何舍入到最接近的5分钟间隔?

来自分类Dev

用numpy.rint()舍入到最接近的int与.5不一致

来自分类Dev

将float(x)舍入为最接近.x的.5

来自分类Dev

C#:如何将整数舍入到最接近的1000

来自分类Dev

VB.Net Math.Round为什么将5舍入到最接近的偶数,我该怎么办?

来自分类Dev

如何舍入到最接近的50或100?

来自分类Dev

如何舍入到最接近的10的幂?

来自分类Dev

舍入到最接近的X

来自分类Dev

四舍五入到最接近的5

来自分类Dev

如何使用搜索功能显示具有最接近的长/纬度值的商店-Laravel 5雄辩

来自分类Dev

如何在Excel中将时间舍入到最接近的小时?

来自分类Dev

如何舍入到最接近的32倍因子?

来自分类Dev

如何获取NSDecimal舍入到最接近的整数值?

来自分类Dev

如何在 Swift 中将 Int 舍入到最接近的 10?

来自分类Dev

如何将时间戳舍入到最接近的秒数?

来自分类Dev

使用PHP向下舍入到10000的最接近倍数

来自分类Dev

在SQLite中舍入到最接近或向上

来自分类Dev

舍入到最接近的奇数位

来自分类Dev

Python舍入到最接近的0.25

来自分类Dev

将Double舍入到最接近的10

来自分类Dev

将x舍入到最接近的y

来自分类Dev

bash舍入到最接近的4的倍数

来自分类Dev

舍入到最接近的给定层

来自分类Dev

将变量舍入到最接近的整数

来自分类Dev

舍入到最接近的三十秒

来自分类Dev

将数字四舍五入到最接近的.5小数

来自分类Dev

将字典中的值四舍五入到python中最接近的5吗?

Related 相关文章

热门标签

归档