pro*_*oob 4 c++ precision significant-digits
我想从stringstream获取一个数字并将其设置为5位有效数字.我该怎么做呢?到目前为止,这是我设法提出的:
double a = 34.34566535
std::stringstream precisionValue;
precisionValue.precision(6) << a << std::endl;
Run Code Online (Sandbox Code Playgroud)
但是,这不是编译.谢谢.
jro*_*rok 11
它不会编译因为ios_base::precision()
返回streamsize
(它是一个整数类型).
您可以使用流操纵器:
precisionValue << std::setprecision(6) << a << std::endl;
Run Code Online (Sandbox Code Playgroud)
你需要包括<iomanip>
.
std::stringstream::precision()
返回a streamsize
,而不是对流本身的引用,如果要对<<
运算符进行排序,则需要返回该引用.这应该工作:
double a = 34.34566535;
std::stringstream precisionValue;
precisionValue.precision(6);
precisionValue << a << std::endl;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11771 次 |
最近记录: |