我将如何只将浮点数舍入为0.025的倍数
因此,例如:1.041将四舍五入为1.05
我知道如何对C#中的浮点数进行四舍五入,但只能舍入到十进制值。
答案 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;
}