舍入最接近的0.5

Hon*_*ney 3 c# rounding

我希望以这种方式完善

13.1, round to 13.5
13.2, round to 13.5
13.3, round to 13.5
13.4, round to 13.5
13.5 = 13.5
13.6, round to 14.0
13.7, round to 14.0
13.8, round to 14.0
13.9, round to 14.0
Run Code Online (Sandbox Code Playgroud)

抱歉我需要以上述方式修改...这样做但不合适

doubleValue = Math.Round((doubleValue * 2), MidpointRounding.ToEven) / 2;
Run Code Online (Sandbox Code Playgroud)

Sau*_*aul 9

如果是13.1, round to 13.513.9, round to 14.0,则需要:

double a = 13.1;
double rounded = Math.Ceil(a * 2) / 2;
Run Code Online (Sandbox Code Playgroud)