Мне нужно преобразовать секунды в чч: мм: сс.миллисекунды, и мне нужно, чтобы этот формат соблюдался. Я имею в виду, что часы, минуты и секунды должны иметь 2 цифры, а миллисекунды - 3 цифры. Например, если секунд = 3907,1, я хотел бы получить 01: 05: 07.100
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
#include <stdio.h>
#include <sstream>
#include <math.h>
using namespace std;
int main()
{
double sec_tot = 3907.1;
double hour = sec_tot/3600; // seconds in hours
double hour_int;
double hour_fra = modf(hour, &hour_int );//split integer and decimal part of hours
double minutes = hour_fra*60; // dacimal hours in minutes
double minutes_int;
double minutes_fra = modf(minutes, &minutes_int); // split integer and decimal part of minutes
double seconds = minutes_fra*60; // decimal minutes in seconds
stringstream ss;
ss << ("%02lf", hour_int) << ":" << ("%02lf", minutes_int) << ":" << ("%02lf", seconds);
string time_obs_def = ss.str();
cout << time_obs_def << endl;
return 0;
}
, но результат будет 1: 5: 7.1 Спасибо.