A lebegőpontos szám olyan szám, amelyben a tizedesjel után nulla vagy több számjegy áll. Például: -2.4, 0.1, 3.14, 16.984025 és 1024.0.
A különböző lebegőpontos típusok különböző számú számjegyet tudnak tárolni a tizedesjel után; ezt a tulajdonságot nevezzük pontosságnak. Ez azt jelenti, hogy ha a PI értéket egy single típusban próbálod tárolni, csak az első 6-9 számjegyet fogja tárolni (az utolsó számjegy kerekítve lesz).
A Clojure-ben a lebegőpontos számokat Double-ként olvassuk be; M utótaggal BigDecimal-ként.
Double: 8 bájt (~15-17 számjegy pontosság). Ez a leggyakoribb típus. Írásmódja: 2.45.BigDecimal: Tetszőleges pontosságú egész számú skálázatlan érték és egy 32 bites egész számú skála. Írásmódja: 2.45M.Ebben a feladatban megtakarítási számlákkal fogsz dolgozni. A megtakarítási számlád egyenlege minden évben a kamatláb alapján frissül. A bank által adott kamatláb attól függ, mennyi pénz van a számládon (az egyenlegedtől):
1000 dollár.1000 dollár és kevesebb mint 5000 dollár.5000 dollár.A kormány minden évben lehetővé teszi, hogy a megtakarítási számlád egyenlegének frissítése előtt a pénzed egy százalékát adómentesen jótékony célra adományozd. Mivel rendes ember vagy, ha az év végén pozitív az egyenleged, ennek az összegnek a kétszeresét adományozod jótékony célra, a legközelebbi egész dollárra lefelé kerekítve.
Három részfeladatod van, és mindegyik az egyenlegeddel és annak kamatlábával foglalkozik.
Valósítsd meg az interest-rate függvényt, amely a megadott egyenleg alapján kiszámítja a kamatlábat:
(interest-rate 200.75M)
;;=> 0.5
Figyeld meg, hogy a visszaadott érték egy Double.
Valósítsd meg az annual-balance-update függvényt, amely a kamatlábat figyelembe véve kiszámítja az éves egyenlegfrissítést:
(annual-balance-update 200.75M)
;;=> 201.75375M
Figyeld meg, hogy a visszaadott érték egy BigDecimal.
Valósítsd meg az amount-to-donate függvényt, amely az egyenleg és a kormány által engedélyezett adómentes százalék alapján kiszámítja, mennyi pénzt adományozz jótékony célra:
(def balance 550.5M)
(def tax-free-percentage 2.5)
(amount-to-donate balance tax-free-percentage)
;;=> 27
Figyeld meg, hogy a visszaadott érték egy int.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Clojure nyelvet 12 fogalom105 feladat segítségével, valódi emberi mentorálással, mindez ingyen.