我正在尝试在标准库中找到一个round函数,但是没有看到。有没有办法在C++中将双精度数四舍五入到n个小数位?
C++11在<cmath>
中提供了std::round。
如果没有它,您可以在调整后的数字上使用std::floor和std::ceil进行舍入。例如,std::floor(n * 100 + 0.5)/100
可以四舍五入到两位小数。
需要注意的是,舍入并不是完全简单的操作;存在一些复杂性,例如��择向零舍入、向负无穷大舍入、舍入为偶数等。如果您正在编写生产程序,请确保了解您所在领域的舍入要求。