C++ 帮助从字符串中设置 setf floatfield

标签 c++ floating-point

*mit = 13311
std::istringstream iss(*mit);
double temp;
iss.setf(ios::fixed, ios::floatfield);
iss.precision(15);
iss >> temp;

std::cout<<"temp "<<temp<<endl; 
std::stringstream ss;
ss<<temp / 1024;

我试过设置精度/不设置精度,我仍然得到 12.999,而不是 12.9990234375 请告知我做错了什么?谢谢。 安德鲁

最佳答案

cout 中添加 std::setprecision( 15 )

 std::cout<< "temp " << std::setprecision( 15 ) << temp <<endl;

编辑:抱歉,如果我误会了你。您希望看到打印出 12.9990234375 或者您希望 ss12.9990234375 ?如果是第二个,则制作:

ss << std::setprecision(15) << temp / 1024;

关于C++ 帮助从字符串中设置 setf floatfield,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5792111/

相关文章:

c++ - boost asio 中的并发读取和 async_read_some

c++ - 如何声明一个未知大小的数组,然后获取输入直到我需要,然后获取数组的大小?

C++ 文件处理(结构)

floating-point - TI 操作系统如何编码才不会出现浮点错误?

javascript - 使用 JavaScript 获取数字的小数部分

c++ - 如何在 Crypto++ 中将 base64 转换为整数?

c++ - if 语句不比较我的字符串 c++ 中的数值

c - float 相等性检查

c - sprintf 中的 %f 似乎在 TI 84 CE 在线 IDE 中不起作用

c - C 中的解引用指针工作正常,但看起来错误