Dha*_*esh 31 c# floating-point
我有double值12.256852651,我希望将其显示12.257为浮点数而不将其转换为字符串类型.
我怎么能在C#中做到这一点?
Cod*_*aos 48
我首先转换为Decimal然后使用Math.Round结果.这种转换并不是绝对必要的,但如果我在使用二进制浮点数时舍入到小数位,我总觉得有些不安.
Math.Round((Decimal)f, 3, MidpointRounding.AwayFromZero)
Run Code Online (Sandbox Code Playgroud)
您还应该考虑选择MidpointRounding,因为默认情况下这会使用Banker的圆形,这不是您从学校习惯的.
Ode*_*ded 10
如果你想显示它,它将是一个字符串,这就是你需要使用的.
如果要进行舍入以便稍后在计算中使用它,请使用Math.Round((decimal)myDouble, 3).
如果您不打算在计算中使用它但需要显示它,请使用double.ToString("F3").