我有一些 float
变量会产生像 1.23456789 这样的值。我想四舍五入到小数点后 4 位。
setprecision 函数只舍入输出,但我想更改变量本身的值。
所以我正在寻找类似的东西
x=roundoff(x,n)
四舍五入会将 x 舍入到 n 位小数。
最佳答案
为什么不是这个?
float val = 1.23456789
float rounded_down = floorf(val * 1000) / 1000; /* 1.2345 */
编辑:
正如评论中指出的那样,请记住这是一个近似值,但在许多情况下它可能是可以接受的。 另外,您可能希望四舍五入到最接近的值或按如下方式四舍五入:
float val = 1.23456789
float near = roundf(val * 1000) / 1000; /* nearest */
float up = ceilf(val*1000) / 1000; /* up*/
关于c++ - 如何在C++中将变量四舍五入到小数点后n位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29447630/