I'd first convert to Decimal
and then use Math.Round
on the result. This conversion is not strictly necessary, but I always feel a bit uneasy if I round to decimal places while using binary floating points.
Math.Round((Decimal)f, 3, MidpointRounding.AwayFromZero)
You should also look into the choice of MidpointRounding
, since by default this uses Banker's round, which is not what you are used to from school.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…