|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
[c++] calcolare millisecondi prima che scatti un secondo
sto facendo dei test e non mi stampa sempre 0.
quello che stò facendo è questo: pT=ct.getElapsed();//prendo il tempo ...routine sT=ct.getElapsed();//prendo di nuovo il tempo e tramuto in ore, minuti, secondi e millisecondi. La stampa è ok se è passato almeno 1 secondo infatti: ms = ((sT-pT)-ss) * 1000.0f;//i millesecondi sono stampati correttamente se ss vale almeno 1...ok ma se non è passato un secondo e voglio stampare quanti millisecondi sono passati faccio: ml = (sT-pT)*1000.0f; mi stampa 000 notare che ml è un int mentre se lo dichiaro come float mi stampa gli ms giusti ma a me non piace il formato che è così: sprintf (buff, "Time %.4f ms ",(sT-pT) * 1000.0f); stampa --> 0.00156 che sono gli ms. In sostanza quello che volevo fare è stampare tipo 654 millisecondi ovvero prima che arrivi a 1000 dato che un secondo nel calcolo del tempo non è stato raggiunto tipo: sprintf (buff, "Time %.2d.%.2d.%.2d %.10d ",hh, mm, ss, ml); stampa 00.00.00 765 ml è un int se lo metto come float è ok ma non è un fomato che mi piace ovvero 0.00156 dovrei stamapare 156. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
bhò ma pare corretto così:
ml = (pT)*1000.0f; ml è un int e vale 009 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:54.



















