Kezdőoldal » Számítástechnika » Programozás » C#-ban van két int értékem...

C#-ban van két int értékem (egyik sem 0, kiírással ellenőriztem), de mikor el akarom osztani egy double típusú változóban, hogy tizedes értéket kapjak, de nullát ad vissza, miért lehet ez?

Figyelt kérdés

double szazalek = latta / ossz * 100;

Console.WriteLine(latta + " / " + ossz + " = " + szazalek);


A latta értéke 100, az ossz értéke 219.



2022. máj. 14. 11:44
 1/4 anonim ***** válasza:
Mert az inteket egészként osztja el, így int lesz az eredmény, azaz 0. Csak a legvégén konvertálja double-é, azaz a 0-t 0.0-vá.
2022. máj. 14. 11:58
Hasznos számodra ez a válasz?
 2/4 Pelenkásfiú ***** válasza:
Megoldás: (legalább) az egyik elé tedd oda, hogy "(double)"!
2022. máj. 14. 12:16
Hasznos számodra ez a válasz?
 3/4 A kérdező kommentje:
Érteeem, átírtam Convert.Double(latta) / Convert.Double(ossz)-e és működiik köszönöm szépen!
2022. máj. 14. 12:41
 4/4 Pelenkásfiú ***** válasza:
Szerintem itt egyszerűbb a "(double)" casting, hiszen az int változó értéke biztosan érvényes lesz double-ként is.
2022. máj. 14. 13:09
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!