![](/img/trans.png)
[英]Persistent std::chrono time_point<steady_clock>
[英]converting std::chrono::steady_clock::time_point to long double
在計算時間變化后,如何將std::chrono::steady_clock::time_point
轉換為雙精度。
int main()
{
std::chrono::steady_clock::time_point start, finish;
start = std::chrono::steady_clock::now();
finish = start;
while (true){
long double elapsedTime = std::chrono::duration_cast<std::chrono::nanoseconds>(finish - start).count() / 1000000000;
std::cout << "Time elapsed (in seconds), " << elapsedTime << std::endl;
}
return 0;
}
編輯:它有效,但它只返回 0 或 1,我正在尋找的是1.13715263724
或其他東西
首先,您應該在循環開始時更新開始,並在結束時完成。 為了得到一個浮點值,1000000000 必須被 1000000000.0 替換:
while (1) {
start = std::chrono::steady_clock::now();
long double elapsedTime = std::chrono::duration_cast<std::chrono::nanoseconds>(start - finish).count() / 1000000000.0;
std::cout << "Time elapsed (in seconds), " << elapsedTime << std::endl;
finish = start;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.