0

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

std::ostringstream ostr;

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

因此,如果 cylinderLength = 0.594,则上述输出如预期的那样为 0.59。

是否有一个运算符或函数可以在最后一个所需的小数位进行向上或向下舍入?

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

4

1 回答 1

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
于 2013-01-12T06:37:25.520 回答