我的double
值为12.256852651
,我希望将其显示为12.257
作为浮点数而不将其转换为字符串类型。
我怎样才能在C#中做到?
答案 0 :(得分:45)
我首先转换为Decimal
,然后对结果使用Math.Round
。这种转换并不是绝对必要的,但如果我在使用二进制浮点数时舍入到小数位,我总觉得有些不安。
Math.Round((Decimal)f, 3, MidpointRounding.AwayFromZero)
您还应该查看MidpointRounding
的选择,因为默认情况下这会使用银行家的轮次,这不是您从学校习惯的。
答案 1 :(得分:9)
如果您想要显示它,它将是一个字符串,这就是您需要使用的内容。
如果您想围绕以便稍后在计算中使用它,请使用Math.Round((decimal)myDouble, 3)
。
如果您不打算在计算中使用它,但需要显示,请使用double.ToString("F3")
。