如何从科学记数法中恢复过来
How to swich back from scientific notation
本文关键字:恢复 更新时间:2023-10-16
我需要用科学记数法显示一个元素。cout 位于几个循环内,在设置科学记数法后,它会影响程序中的整个 cout。如何切换回常规表示法。
这是 cout 线:
cout << "Firing '" << fir << "' Time: " << time << " secnCorresponding altitude: " << scientific << alt << endl;
只有变量 alt 应该以科学记数法显示。
我添加了 cout.precision(2); 和 cout <<固定的;在上面的行之后,但它也会影响程序中的其他 cout。
我感谢您的帮助。
尝试这样的事情:
http://www.cplusplus.com/reference/ios/scientific/
cout << "Firing '" << fir << "' Time: " << time << " secnCorresponding altitude: ";
cout << std::scientific << alt << endl;
std::cout << std::defaultfloat; // C++ 11
。或。。。
std::cout.unsetf ( std::ios::floatfield ); // C++ 98
另请参阅:
C++ std::流双精度值 没有科学的,也没有固定的小数计数
http://www.cs.duke.edu/courses/cps149s/fall99/resources/n2.html
http://www.uow.edu.au/~lukes/TEXTBOOK/notes-cpp/io/omanipulators.html
好吧,在设置精度之前,您可以将其与 cout.precision()
一起存储在变量中。使用完设置为 2 的精度后,重置回使用变量的位置。即 cout.precision(precision)
假设"精度"是你的变量。
例:
输出:
1.2
1.234
#include <iostream>
using namespace std;
int precision;
float number = 1.234;
int main(void)
{
precision = cout.precision();
cout.precision(2);
cout << number << endl;
cout.precision(precision);
cout << number << endl;
}
相关文章:
- 用C++将哈希表写入文件并从文件中恢复
- Opencv 恢复到比我设置的更高的分辨率
- 变量在使用赋值语句赋值后恢复为以前的值
- 在信号处理程序中捕获C++未处理的异常并恢复应用程序
- 删除所有字符串后如何恢复 QStringList?
- 当对套接字 send() 的同步调用由于连接另一端丢失而被阻止时,如何恢复?
- 如何仅使用一次固定<<设置精度(2)?或者至少恢复到默认行为?
- "co_yield"是否可以在恢复协程时从调用方返回值?
- OpenSSL C API:如何在程序exec()之后恢复TLS连接?
- 通过指针恢复对数组的引用.UB与否?
- 从不同进程中的另一个线程挂起/恢复线程或进程
- 如何在 XML 中正确存储原始字节数据并恢复它?
- ExtTextOut 文本的持续闪烁,在一段时间后,文本将恢复为默认字体
- 模板化类中运算符 + 重载的值的恢复
- C++ 线程创建/删除与线程停止/恢复
- ZMQ::send() 抛出异常并终止 QNX 进程.为什么以及如何从中恢复?
- Windows桌面程序保存您的计算机会话 - 基于程序崩溃时的恢复会话
- xSemaphoreTake 在调用 xSemaphoreGive 后不会恢复任务
- 将类型映射到整数值后,如何在给定整数值的情况下恢复类型?
- 恢复ASIO无堆栈Coroutine