Я использую Ostringstream для вывода числа до 2 десятичных знаков следующим образом
std::ostringstream ostr;
ostr << std::fixed << std::setprecision(2);
ostr << cylinderLength;
Таким образом, если цилиндрДлина = 0,594, вышеприведенный вывод 0,59, как ожидалось.
Есть ли оператор или функция, которые будут округлять вверх или вниз в последнем желаемом десятичном знаке?
В этом случае в приведенном выше примере вместо этого будет напечатано 0,60.
Пытаться:
// 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
Других решений пока нет …