是否有一个标准的格式化功能或操作符将向上舍入? (或者下来?)

时间:2013-01-12 06:31:28

标签: c++ formatting number-formatting ostringstream

我使用ostringstream将数字输出到2位小数,如下所示

std::ostringstream ostr;

ostr << std::fixed << std::setprecision(2);
ostr << cylinderLength;

因此,如果cylinderLength = 0.594,则上面按预期输出0.59。

是否有一个操作符或函数会在最后所需的小数位上向上或向下舍入?

在这种情况下,上面的示例将打印出0.60。

1 个答案:

答案 0 :(得分:6)

尝试:

// Round towards +infinity (to 1 decimal place (use 100 for 2 decimal places)
ceil(double * 10) / 10


// Round towards -infinity (to 1 decimal place (use 100 for 2 decimal places)
floor(double * 10) / 10