Witam.
Napisałem funkcję która konwertuje milisekundy do odpowiedniego formatu czasu, w tym wypadku jest to hss:ms
mam jednak problem z ilością znaków w ms gdyż zależy mi na tym aby były tam wyświetlane wyłącznie 2 znaki. Teraz zależnie od wyniku są tam 2 albo 3.
Jak by to było możliwe to byłbym zainteresowany tym aby ilość znaków ms można było określić poprzez parametr funkcji.
Zrobiłem kiedyś wersję, że ss było floatem i wtedy to działało lecz odbijało się o na wydajności.
void MSec2Time(int Value, wchar_t *buf)
{
int Value2 = abs(Value);
int hh = Value2/3600000;
int mm = (Value2-hh*3600000)/60000;
int ss = (Value2-(hh*3600000)-(mm*60000))/1000;
int ms = Value2-(hh*3600000)-(mm*60000)-(ss*1000);
if (Value<0)
wsprintf(buf,L"-%d:%02d:%02d.%2d", hh, mm, ss, ms);
else
wsprintf(buf,L"%d:%02d:%02d.%2d", hh, mm, ss, ms);
}
dodanie obrazka do załączników posta
- @furious programming