Rounding of float values

前端 未结 2 1605
孤城傲影
孤城傲影 2020-12-15 03:32

I have the double value like 12.256852651 and I want to display it as 12.257 as a float number without converting it in to a string ty

2条回答
  •  Happy的楠姐
    2020-12-15 03:50

    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.

提交回复
热议问题