c++四舍五入到小数点后N位

1
2
3
4
5
6
double round(double value, unsigned int decimal_places) {
    double multiplier = 1.00;
    if (decimal_places > 0)
        multiplier = std::pow(10, decimal_places);
    return std::floor(value * multiplier + 0.5) / multiplier;
}