Eine Gleitkommazahl ist eine Zahl mit null oder mehr Ziffern hinter dem Dezimaltrennzeichen.
Beispiele sind -2.4, 0.1, 3.14, 5., 16.984025 und 1024.0.
Verschiedene Gleitkommatypen können unterschiedlich viele Ziffern hinter dem Trennzeichen speichern. Das nennt man ihre Genauigkeit.
Go hat zwei Gleitkommatypen:
float32: 32 Bit (Genauigkeit von ~6-9 Ziffern).float64: 64 Bit (Genauigkeit von ~15-17 Ziffern).
Das ist der Standard-Gleitkommatyp.Wie man sieht, können beide Typen unterschiedlich viele Ziffern speichern.
Das bedeutet, dass beim Speichern von PI in einem float32 nur die ersten 6 bis 9 Ziffern gespeichert werden (wobei die letzte Ziffer gerundet wird).
Standardmäßig verwendet Go für Gleitkommazahlen float64. Etwas anderes gilt nur, wenn die Gleitkommazahl:
float32 zugewiesen wird, oderfloat32 zurückgegeben wird, oderfloat32() übergeben wird.Das math package enthält viele hilfreiche mathematische Funktionen.
In dieser Übung arbeitest du mit Sparkonten. Jedes Jahr wird der Kontostand deines Sparkontos anhand seines Zinssatzes aktualisiert. Der Zinssatz, den dir deine Bank gewährt, hängt davon ab, wie viel Geld auf deinem Konto liegt (der Kontostand):
0 Dollar (der Kontostand wird stärker negativ).0 Dollar und weniger als 1000 Dollar.1000 Dollar und weniger als 5000 Dollar.5000 Dollar.Du hast vier Aufgaben, die sich jeweils mit deinem Kontostand und seinem Zinssatz befassen.
Implementiere die Funktion InterestRate(), um den Zinssatz anhand des angegebenen Kontostands zu berechnen:
InterestRate(200.75)
// => 0.5
Beachte, dass der Rückgabewert ein float32 ist.
Implementiere die Funktion Interest(), um die Zinsen anhand des angegebenen Kontostands zu berechnen:
Interest(200.75)
// => 1.003750
Beachte, dass der Rückgabewert ein float64 ist.
Implementiere die Funktion AnnualBalanceUpdate(), um die jährliche Aktualisierung des Kontostands zu berechnen, wobei der Zinssatz berücksichtigt wird:
AnnualBalanceUpdate(200.75)
// => 201.75375
Beachte, dass der Rückgabewert ein float64 ist.
Implementiere die Funktion YearsBeforeDesiredBalance(), um die minimale Anzahl von Jahren zu berechnen, die nötig ist, um den gewünschten Kontostand zu erreichen, wobei berücksichtigt wird, dass jedes Jahr Zinsen zum Kontostand hinzugefügt werden.
Das bedeutet, dass der Kontostand nach einem Jahr folgender ist: Anfangskontostand + Zinsen für den Anfangskontostand.
Der Kontostand nach dem zweiten Jahr ist: Kontostand nach einem Jahr + Zinsen für den Kontostand nach einem Jahr.
Und so weiter, bis der Kontostand des aktuellen Jahres größer oder gleich dem Zielkontostand ist.
balance := 200.75
targetBalance := 214.88
YearsBeforeDesiredBalance(balance, targetBalance)
// => 14
Beachte, dass der Rückgabewert ein int ist.
Melde dich bei Exercism an, um Go mit 34 Konzepte166 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.