如何向上/向下舍入浮点值的小数位? C ++

时间:2016-01-30 21:30:12

标签: c++ numbers decimal rounding ceil

我知道您可以使用setprecision(x)来限制cout方法中显示的小数位数。我想知道如何向上/向下舍入一个小数位?

例如: 我有这个号码:0.073

即使7之后的数字是3,我想要向上舍入7,所以数字变为:0.08

我尝试过使用ceil和floor,但这只能将它整数转换为整数。我也有ceilf,这也是一个整数。

2 个答案:

答案 0 :(得分:3)

两种可能性 如果你总是有这个数量级的数字,

  • 在舍入之前添加0.005
  • 或乘以100,使用ceil然后除以100.

如果你有大量不同的大纲,请使用log10查找数量级,然后通过上述方法之一进行舍入。

答案 1 :(得分:0)

由于你想要cpp的答案,你应该使用cmath库中的ceil函数。有关更多信息,请访问:http://en.cppreference.com/w/cpp/numeric/math/ceil