这可能听起来像一个基本问题,但我搜索了很多。我想在bi2
&中尝试时间配置文件功能调用需要以秒为单位记录时间,直到BitmapImage
。例如C++
或3 decimal places
。我正在尝试使用2.304 seconds
这样做:
.791 seconds
以下是我得到的输出:
std::chrono
我确信auto start_time = std::chrono::system_clock::now();
DoSomeOperation();
std::chrono::duration<double> elapsed_time = std::chrono::system_clock::now() - start_time;
double execution_time = elapsed_time.count();
std::cout << "execution_time = " << execution_time << std::endl;
只需要几个execution_time = 1.9e-05
execution_time = 2.1e-05
execution_time = 1.8e-05
execution_time = 1.7e-05
来完成&amp;我需要DoSomeOperation
中的号码。我需要double中的数字才能在不同的计算中使用它。
如何将这个奇怪的milliseconds
转换为seconds
中的合理数字,以1.9e-05
或double
为单位产生?
尝试here中的代码,我遇到了同样的问题。
答案 0 :(得分:2)
要更改输出格式,请尝试std::fixed
和std::setprecision
double execution_time = 0.01234;
std::cout << "execution_time = "
<< std::fixed << std::setprecision(3)
<< execution_time << std::endl;
如果您有几个需要输出执行时间的地方,可以将其转换为字符串然后重新使用:
double execution_time = 0.01234;
std::stringstream stream;
stream << std::fixed << std::setprecision(3) << execution_time;
std::string execution_time_as_string = stream.str();
std::cout << "execution_time = " << execution_time_as_string << std::endl;
答案 1 :(得分:1)
使用
cout.setf(ios::fixed,ios::floatfield);
cout.precision(3);
cout << MyDouble;