Kezdőoldal » Számítástechnika » Programozás » Hogyan alakítsak át egy sima...

Hogyan alakítsak át egy sima törtet (1 / 60) double-é C#-ban?

Figyelt kérdés

Az a gondom hogy már mindenféle módon megpróbáltam a törtet valós számként hozzáadni egy változóhoz de úgy látom hogy még mindig egész osztás lesz a vége.

Double-ként hoztam létre a változókat amiknek az értékét megnövelnem, rákényszerítettem a double típust az 1/60-ra mikor hozzáadtam a változóhoz, de az értéke nem változik sosem.

Még megpróbáltam konvertálással is (a += Convert.ToDouble(1 / 60);) de úgy se ment.

Tudnátok nekem segíteni ebben?



2015. szept. 25. 23:37
1 2
 1/19 anonim ***** válasza:

double d = 1f / 60;

vagy:

double d = 1.0 / 60;

2015. szept. 25. 23:49
Hasznos számodra ez a válasz?
 2/19 A kérdező kommentje:
Köszi!
2015. szept. 25. 23:51
 3/19 anonim ***** válasza:

a += 1.0/60;

De ilyesmire inkább csinálnék egy hagyományos tört típust sokkal inkább (ha nincs alapból ilyen).

2015. szept. 26. 01:11
Hasznos számodra ez a válasz?
 4/19 A kérdező kommentje:

Milyen hagyományos tört típust?

Nekem nem az kell, csak az hogy a tört értékét (ami tizedes tört ha leosztok vele csak nem valami szép szám így nem írom le oda, az is lehet hogy nem véges..) hozzáadjam a változóhoz.

Egyébként ha az egyik változót 1/60-al, a másikat meg 1/1200-al növelem, akkor egyszer egyenlőnek kell lennie a kettőnek, nem?

2015. szept. 26. 09:51
 5/19 anonim ***** válasza:

"Egyébként ha az egyik változót 1/60-al, a másikat meg 1/1200-al növelem, akkor egyszer egyenlőnek kell lennie a kettőnek, nem?"

De igen, hozzátéve azt, hogy a lebegőpontos számábrázolás miatt pontosan szinte biztos nem, ezért ==-t nem használhatsz az egyenlőségvizsgálathoz.

2015. szept. 26. 10:30
Hasznos számodra ez a válasz?
 6/19 A kérdező kommentje:

Akkor csináljak egy Tört struktúrát és növeljem folyamatosan a számlálót, majd ha ugyanannyi lesz mint a nevező akkor adjon hozzá egyet a változóhoz?

Esetleg közös nevezőt is csinálhatnék és akkor nem eggyel növelem meg a számlálót hanem 20-szal, és a legvégén csak a tört számlálóját és nevezőjét kell ellenőriznem, hogy azok legyenek egyenlők.

Így jó?

2015. szept. 26. 10:35
 7/19 anonim ***** válasza:

"Akkor csináljak egy Tört struktúrát és növeljem folyamatosan a számlálót, majd ha ugyanannyi lesz mint a nevező akkor adjon hozzá egyet a változóhoz?"

Ennek a fejedben biztos van értelme, nekem nem sokat mond. Másrészt nem tudom mire van szükséged, mert nem derült ki mi a probléma, amit meg kell oldani. Egyébként gugli első találatra kidob egy egész jó tört osztályt.


"Esetleg közös nevezőt is csinálhatnék és akkor nem eggyel növelem meg a számlálót hanem 20-szal, és a legvégén csak a tört számlálóját és nevezőjét kell ellenőriznem, hogy azok legyenek egyenlők.

Így jó?"

Ha csinálsz egy tört osztályt, akkor annak nem úgy működik, hogy neked kívülről kell ellenőrizgetned, hogy mennyi a számláló meg a nevező. Ha ez az első gondolatod, akkor rá kell feküdnöd az objektumorientáltságra.


Valahogy így kéne kinéznie a dolognak:


Tört t1 = new Tört(1/60);

Tört t2 = new Tört(1/2000);

Double d = (t1 + t2).ToDouble();

2015. szept. 26. 10:44
Hasznos számodra ez a válasz?
 8/19 A kérdező kommentje:

Melyik az az első találat?

(Nem tudom hogy van angolul a tört.)

Egyébként azt szeretném kideríteni hogy hány óra hány perc hány másodperckor találkozik pontosan a kismutató és a nagymutató dél(/éjfél) után legközelebb.

Annyi biztos hogy egy óra után, szóval a nagymutatót nulláról indítom, és minden másodpercben 1/60-at halad előre, a kicsit meg 5-ről, mert már egy óra van, és az pedig 1/1200-at halad előre másodpercenként (ha jól számoltam ki).

De így is most megcsináltam azzal a módszerrel amit én mondtam és 1 óra 5 perc 16 másodperckor vannak a legközelebb egymáshoz, de 4/1200 az eltérés közöttük...

2015. szept. 26. 10:55
 9/19 anonim ***** válasza:
2015. szept. 26. 11:10
Hasznos számodra ez a válasz?
 10/19 A kérdező kommentje:

Köszi!

Bár ez még nekem kicsit sok de majd egyszer végigfutom és megpróbálom megérteni.

2015. szept. 26. 12:17
1 2

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!