Eli tällä hetkellä ajanottokello antaa lukuja 1.0000, 2.0000... Kuinka saisin nuo nollat lopusta pois? Ajanotto tapahtuu näin:
laskenta_aika = (SDL_GetTicks()-aloitusaika)/1000;
Ongelma ei ole muuttujassa vaan kuinka tulostat sen?
/* C */ printf("%.2f\n", 12.4567); // "12.46" /* C++ */ cout << fixed << setprecision(2) << 12.4567 << endl; // "12.46"
Ehkäpä haluat myös laskea liukuluvuilla, jotta saisit muutakin kuin kokonaislukuja?
aika = (jotain) / 1000.0; // Huomaa .0, joka muuttaa luvun liukuluvuksi!
Kiitos, nyt toimii. Ja jos joku muu joskus ihmettelee samaa, niin minulla se toimii näin:
printf(" Aikaa kulunut: %.0f", laskenta_aika);
Jos kerran haluat tuloksen kuitenkin kokonaislukuna, voisit saman tien muuttaa tuon laskenta_aika
-muuttujan tyypiksi int
ja tulostaa sen %d
-muotoilulla eli kokonaislukuna.
Aihe on jo aika vanha, joten et voi enää vastata siihen.