Típuskonverzió. Hogyan tudok sima C-ben átalakítani egy típust egy másikká?
Szóval az a lényeg, hogy van két int típusú változóm. Az egyiket el akarom osztani a másikkal, és azt akarom, hogy így az egyik értéke ez a hányados legyen, de ennek már így double-nek kell lennie.
Pl:
int a;
int b;
a/=b;
Úgy gondolom, hogy az a-t ilyen esetben, előbb át kell alakítani double-é. Hogy tudom megcsinálni?
int a;
int b;
double result;
[...]
result = (double)a / (double)b;
Ha két egész számot osztasz el, akkor egész osztás történik aminek következtében a tört rész elvész. Ha ezt el szeretnénk kerülni legalább az egyik (vagy mindkét) tagot valamilyen lebegőpontos típusra kell konvertálni (kasztolni).
(Ha csak az egyik tagot konvertáljuk explicit módon(kézzel) lebegőpontossá, akkor osztáskor implicit (amutomatikus)konvertálás fog bekövetkezni, tehát ekvivalens azzal mintha explicit konvertáltunk volna mindkét tagot.)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!