C++ 如何将一个双精度整数舍入到n位小数?

C++ 如何将一个双精度整数舍入到n位小数?,c++,math,rounding,C++,Math,Rounding,我试图在标准库中找到一个圆函数,但没有看到。在C++中有没有方法可以循环一个双到n个小数?< p> C++ 11在 > < /p> 如果没有它,您可以在调整后的数字上使用std::floor和std::ceil。例如,std::floor(n*100+0.5)/100四舍五入至小数点后两位 尽管需要注意的是舍入并不是一件小事;有一些复杂的情况,例如选择向零舍入、向负无穷大舍入、向偶数舍入等。如果您正在为生产编写程序,请确保您了解您所在领域的舍入要求。floor(v*pow(10,n)+0.5)

我试图在标准库中找到一个圆函数,但没有看到。在C++中有没有方法可以循环一个双到n个小数?

< p> C++ 11在<代码> <代码> > < /p> 如果没有它,您可以在调整后的数字上使用std::floor和std::ceil。例如,
std::floor(n*100+0.5)/100
四舍五入至小数点后两位

尽管需要注意的是舍入并不是一件小事;有一些复杂的情况,例如选择向零舍入、向负无穷大舍入、向偶数舍入等。如果您正在为生产编写程序,请确保您了解您所在领域的舍入要求。

floor(v*pow(10,n)+0.5)/pow(10,n)。