c++ - 将数字从字符串流转换为具有设定精度的字符串

标签 c++ precision significant-digits

我想从 stringstream 中获取一个数字并将其设置为 5 位有效数字。我该怎么做呢?到目前为止,这是我设法想出的:

double a = 34.34566535
std::stringstream precisionValue;
precisionValue.precision(6) << a << std::endl;

但是,这不是编译。谢谢。

最佳答案

它不能编译因为ios_base::precision()返回 streamsize (它是一个整体类型)。

您可以使用 stream manipulators :

precisionValue << std::setprecision(6) << a << std::endl;

您需要包含 <iomanip> .

关于c++ - 将数字从字符串流转换为具有设定精度的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12354881/

相关文章:

math - float 学有问题吗?

python - 修复 *displaying* 在 python 中 float 时的精度问题

iphone - NSNumberFormatter 最多显示 3 位数字

c++ - 我应该使用 boost::property_map 吗?

c++ - 如何从任意客户端查找 DHCP 租约信息?

java - JAVA中的 double

c# - 四舍五入到 x 有效数字

c++ - 全局变量还是局部变量更有效?

c++ - 在 C++ 中传递带有可变参数的函数指针作为参数

python - 如何对数字进行四舍五入以纠正不确定性?