我有應該返回一個格式化的字符串的函數(HH:MM:sec.xxx) 我想要的輸出以顯示秒小時2米的地方,2個場所分鐘,5個地方(截斷的微秒);stringsteam格式語法
我的代碼:
#include <iostream>
#include <iomanip>
std::string getTime(uint64_t time){ //input is in microseconds
unit64_t tempTime = time;
unit64_t hours = (tempTime/3600000000);
tempTime -= (hours * 3600000000);
unit64_t mins = (tempTime/60000000);
tempTime -= (mins * 60000000);
double secs = ((double)tempTime/1000000);
std::string strTime;
stringstream ss;
ss << std::setprecision(2)<<hours<<":"
<< std::setprecision(2)<<mins <<":"
<< std::setprecision(2)<<std::setprecision(2)<<secs;
strTime = ss.str();
return strTime;
}
可能有人請告訴我正確的語法用於輸入值SS。它編譯和工作,但我沒有得到我想要的格式。
我剛纔所以如果你看到錯別字請見諒
謝謝。如何設置2小時和2分鐘的固定空間? – Miek
@Miek:更新了答案。 – 2012-01-20 04:09:39
你根本不需要'setprecision';它對積分類型沒有影響。與其他操縱器不同,'std :: setw'的效果隻影響下一個輸出;他們不粘。所以你必須爲每個元素重複它。 (再一次,一個不正確的答案會得到加分票,並被接受。) –