C#四舍五入为特定值

时间:2018-09-27 19:01:40

标签: c#

我将如何只将浮点数舍入为0.025的倍数

因此,例如:1.041将四舍五入为1.05

我知道如何对C#中的浮点数进行四舍五入,但只能舍入到十进制值。

2 个答案:

答案 0 :(得分:1)

根据here

修改
public static float QuarterTenthsRound(this float number)
{
     var decimalPlaces = number - (int)number;

     float wholeNumber = (float)((Math.Round((decimalPlaces * 10) * 4, 
           MidpointRounding.ToEven) / 4) / 10);            

     return (int)number + wholeNumber;
}

我将其用作扩展方法,因此将使用myFloat.QuarterTenthsRound()

答案 1 :(得分:0)

您可以使用如下功能:

public static decimal Round(decimal value)
{
    var ceiling = Math.Ceiling(value * 400);

    return ceiling / 400;
}