Ú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
- Autós topik
- Kormányok / autós szimulátorok topikja
- MW2 - MW3 játékosok baráti köre
- Nők, nőügyek (18+)
- HiFi műszaki szemmel - sztereó hangrendszerek
- ASZTALI GÉP / ALKATRÉSZ beárazás
- Májusi bemutató, júliusi piacra kerülés, áremelés
- Villanyszerelés
- Apple Watch Ultra - első nekifutás
- Belekezdeni egy vállalkozásba
- További aktív témák...
- Xiaomi 14T Pro 16/512 1év garanciával, Független!
- Új Dell 16 Inspiron 5630 FHD+ IPS i5-1340P 4.6Ghz 12mag 16GB 512GB SSD Intel Iris XE Win11 Garancia
- AMD Ryzen 5 5600X Dobozában
- MacBook Air M1 (13", 8/256 GB) Szép állapotban, dobozával, töltőjével!
- Lenovo legion 5 gamer RTX3060 tgp130w 32gb ddr4 , 1.5 terra m2 ssd
- 119 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 (48 hónap garancia!)
- LG 27CN650N-6A - Felhő Monitor - 1920x1080 FHD - 75Hz 5ms - USB Type-C - Quad Core - BT + WiFi
- HyperX Cloud Alpha Wireless + HyperX Cloud Alpha 2 Olvasd el
- ÁRGARANCIA!Épített KomPhone Intel i5 13400F 32/64GB RAM RTX 4060Ti 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i5 14600KF 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest