如何舍入 up/down 浮点值的小数位? C++
How do I round up/down a decimal place of a float value? C++
我知道您可以使用 setprecision(x) 来限制 cout 方法中显示的小数位数。我想知道如何舍入一个小数位 up/down?
例如:
我有号码:0.073
即使7后面的数字是3,我也想向上舍入7。所以数字变成:0.08
我试过使用 ceil 和 floor,但这只能四舍五入到整数。我也有 ceilf,它也四舍五入为整数。
两种可能
如果你总是有那个数量级的数字,
- 要么在四舍五入前加上 0.005
- 或者乘以100,用ceil再除以100
如果您有不同数量级的数字,请使用 log10 找到数量级,然后通过上述方法之一进行舍入。
既然你想要 cpp 的答案,你应该使用 cmath 库中的 ceil 函数。可以在以下位置找到更多信息:http://en.cppreference.com/w/cpp/numeric/math/ceil
我知道您可以使用 setprecision(x) 来限制 cout 方法中显示的小数位数。我想知道如何舍入一个小数位 up/down?
例如: 我有号码:0.073
即使7后面的数字是3,我也想向上舍入7。所以数字变成:0.08
我试过使用 ceil 和 floor,但这只能四舍五入到整数。我也有 ceilf,它也四舍五入为整数。
两种可能 如果你总是有那个数量级的数字,
- 要么在四舍五入前加上 0.005
- 或者乘以100,用ceil再除以100
如果您有不同数量级的数字,请使用 log10 找到数量级,然后通过上述方法之一进行舍入。
既然你想要 cpp 的答案,你应该使用 cmath 库中的 ceil 函数。可以在以下位置找到更多信息:http://en.cppreference.com/w/cpp/numeric/math/ceil