- hcl: Kelj fel komám, ne aludjál
- Brogyi: CTEK akkumulátor töltő és másolatai
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- Chosen: Canon 5D II - portrézás 2025-ben
- sziku69: Fűzzük össze a szavakat :)
- eBay-es kütyük kis pénzért
- Meggyi001: Hogyan legyek író? Ha érzem magamban az írói vénát.....
- Ivqkzy-: Eddig
- Elektromos rásegítésű kerékpárok
Új hozzászólás Aktív témák
-
kovisoft
őstag
válasz
mylastage #2912 üzenetére
A sokadik tizedesjegynél való eltérés azért adódik, mert amikor nem egész számokkal dolgozik a számítógép, akkor lebegőpontosan tárolja azokat, kettedes tört formájában, és vannak véges tizedes törtek, amik csak végtelen kettedes törtként ábrázolhatóak (hasonlóan ahhoz, mint ahogy az 1/3-ot csak végtelen 0.33333... formájában tudjuk tizedes törtként ábrázolni, harmados törtként meg ez a 0.1), ezért óhatatlanul kerekítve lesznek. Ha egy ilyen végtelen kettedes törtet utána visszaalakítjuk tizedes törtté, akkor lesz ez a pici eltérés a tároláskori kerekítés miatt.
Ezért szokás a pénzügyi rendszereknél, ahol 1 fillér vagy cent sem térhet el, hogy egész számokkal dolgozunk, pl. mindent fillérben, egész számként tárolunk és számolunk, a számítások eredményét is egészre kerekítjük, kiírásnál pedig a 100-zal való osztás hányadosát és maradékát írjuk ki.
De én kipróbáltam a programodat egy round() beiktatásával, és nem látom, hogy hol adna rossz eredményt:
> while (szamlalo < 21):
... cad = round(arfolyam_eurtocad * szamlalo, 2)
... print (szamlalo, " EUR = ", cad, " CAD ")
... szamlalo = szamlalo + 1
...
1 EUR = 1.57 CAD
2 EUR = 3.14 CAD
3 EUR = 4.71 CAD
4 EUR = 6.28 CAD
5 EUR = 7.85 CAD
6 EUR = 9.42 CAD
7 EUR = 10.99 CAD
8 EUR = 12.56 CAD
9 EUR = 14.13 CAD
10 EUR = 15.7 CAD
11 EUR = 17.27 CAD
12 EUR = 18.84 CAD
13 EUR = 20.41 CAD
14 EUR = 21.98 CAD
15 EUR = 23.55 CAD
16 EUR = 25.12 CAD
17 EUR = 26.69 CAD
18 EUR = 28.26 CAD
19 EUR = 29.83 CAD
20 EUR = 31.4 CAD
Új hozzászólás Aktív témák
Hirdetés
- HP 17,3"HD+,core i5 8265(8x3,9Ghz),8-16GB RAM,256-512SSD,nagyon szép
- ÚJ Bontatlan MacBook Pro 14 M4 Pro 12CPU/16GPU 24GB/512GB SSD Magyar billentyűzet Azonnal átvehető.
- Lenovo Thinkpad L590 laptop (15,6FHD/I5-G8/8GB/256SSD/Win11)
- Dell,14"FullHd IPS,core i5 6440HQ(Fizikai 4x3,5Ghz)8-16GB,Vil.bill,256-512GB SSD,Jó akku
- AKCIÓ!!!Acer V3,FullHD core i5 6200u(4X2,8Ghz),8GBRAM,SSD
- Telefon felvásárlás!! Samsung Galaxy A12/Samsung Galaxy A22/Samsung Galaxy A32/Samsung Galaxy A52
- AlzaPower CAT6 UTP 40m, szürke kábel
- AKCIÓ! Apple MacBook PRO 15" 2018 i9 32GB 500GB 560X 4GB notebook garanciával hibátlan működéssel
- Acer Nitro 5 -AN515 - 15.6"FHD IPS 144Hz - i7-11800H - 16GB - 512GB SSD+1TB HDD -RTX 3050 - Garancia
- ÚJ HP EliteBook 840 G8 - 14"FHD IPS - i5-1145G7 - 32GB - 512GB SSD - Win10 - 6 hónap Garancia
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged