我有浮点变量“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,textout);
其中“输出”只是我编写的一个函数,用于解析字符串并将其打印到屏幕上.重要的一点是,我如何只打印一个ROUNDED版本的lmin和lmax到ss?
解决方法@H_403_8@
使用
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
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