использование stringstream для печати округленного числа с плавающей запятой
У меня есть переменные с плавающей точкой "lmin"и " lmax". я хочу вывести только 4 значащих цифры. в настоящее время я использую то, что я нашел в интернете формы ...
string textout;
stringstream ss;
ss << lmin;
textout = ss.str();
output(-0.5, -0.875, textout);
ss.str("");
ss << lmax;
textout = ss.str();
output(0.2, -0.875, textout);
Где "output" - это просто функция, которую я написал, чтобы разобрать строку и вывести ее на экран. важный момент, как я могу напечатать только округленную версию lmin и lmax в ss?
2 ответа:
Использование
std::setprecision
чтобы указать количество цифр после запятой.#include <sstream> #include <iostream> #include <iomanip> int main() { double d = 12.3456789; std::stringstream ss; ss << std::fixed << std::setprecision( 4 ) << d; std::cout << ss.str() << std::endl; }
Вывод:
12.3457