Kezdőoldal » Számítástechnika » Programozás » C# kerekítés, miért?

C# kerekítés, miért?

Figyelt kérdés

nyelv: C#


{

int piece = 1.23;

double eredmeny = piece / System.DateTime.Now.DayOfYear;

MessageBox.Show(eredmeny.ToString());

}


a megjelenő MessageBox-ban az eredmény egy kerekített érték. miért?



2013. márc. 23. 18:15
 1/6 anonim ***** válasza:
Nem C#-ozok, de az int egy egész típus. Hiába töltesz be 1.23-at, szerintem az még 1 marad. Akkor is ezt kapod, ha a piece változót double-nak veszed fel?
2013. márc. 23. 18:19
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
Csak nem azért mert az int egész típus, és a 1.23-ból 1-et csinál az inicializálás pillanatában?
2013. márc. 23. 19:16
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:
Gondolom van C#-ben is float, mint C/C++ esetén.
2013. márc. 23. 19:22
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:

A fenti kód le sem fordul, ilyen hibát ad:

Cannot implicitly convert type 'double' to 'int'. An explicit conversion exists (are you missing a cast?)

2013. márc. 23. 21:22
Hasznos számodra ez a válasz?
 5/6 A kérdező kommentje:

bocsánat, a piece itt csak egy példa volt, igazából vmi 400 körüli érték... a lényeg az volt h az eredmény nem egész, mégis egészet ad vissza.

időközben sikerült megoldanom a problémát, de köszi a gyors válaszokat :)


ha érdekelne még valakit, ez volt a megoldás:

double eredmeny = (double)piece / (double)System.DateTime.Now.DayOfYear;

2013. márc. 24. 00:45
 6/6 anonim ***** válasza:
Elég az egyiket castolni, akkor is double lesz az eredmény.
2013. márc. 24. 13:33
Hasznos számodra ez a válasz?

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

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!