Hogy tudom a másodpercet helyesen számolni?
Van egy 3.33-as értékem. Elvileg ez 3 perc és ~20 másodperc.
De bárhogy próbálom, 3 perc és 18 mp jön ki. Ha az érték 4,5, akkor már 4 perc 24 mp lesz az eredmény :(
C-ben, hogy lehet megcsinálni?
Nem tudom elképzelni hogy jön ki 18 mp, írd ide a kódod és akkor látjuk mit hibáztál.
double ido = 3.33;
int perc = (int)ido;
int masodperc = (int)(60*(ido-perc));
Most nincs C fordító a gépemen de itt elvileg a perc 3 lesz és a másodperc pedig (int)19.8 thát 19. Vagy akár kerekíthetsz/meghagyhatod lebegőpontos számnak.
Nem igazán tudom, mit ronthatsz el. Vedd a szám egészrészét, az adja a percet. Ezután a tört részt szorozd meg hatvannal, kerekítsd egészre, ez a másodperc. Kódban:
float time = 3.33;
int hour = (int)time;
int sec = (int)roundf((time - hour) * 60); // roundf-nek Math.h kell
Ennyi.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!