Я хотел бы напечатать числа с плавающей точкой в таком формате.
01234.56
Я использую следующую функцию для округления числа с плавающей запятой до n цифр.
double round(double val, int precision)
{
std::stringstream s;
s << std::setprecision(precision) << std::setiosflags(std::ios_base::fixed) << val;
s >> val;
return val;
}
ИВ следующей строке выведите любое число с ведущими нулями до фиксированной длины.
setfill ('0') << setw(5) << number
Но когда я пытаюсь объединить эти два значения, я получаю непоследовательную длину, как в следующих примерах:
8.2 => 008.2
4.57 => 04.56
Я хотел бы получить такой вывод:
8.2 => 08.20
4.57 => 04.57
Можете ли вы показать мне такую функцию, как string myround (double d, intpart n, floatpart f)
, которая возвращает:
myround (1234.5, 5, 2) => 01234.50
myround (1234.569, 5, 2) => 01234.57
Я представляю, что его уже спрашивали, но я не смог найти его с помощью внутренней поисковой системы.