Dec (Decimal)
Der Typ "Dec" repräsentiert eine Dezimalzahl doppelter Genauigkeit und entspreicht dem Java-Typ "double".
Erzeugen
Ein "Dec"-Objekt wird direkt mit einer Zahl inklusive Punkt und Dezimalen erzeugt:
12.345
Wichtig:
Hier wird ein Punkt und kein Komma verwendet!
Optional kann ein 'd' an die Zahl angehängt werden:
123.45d
123d
Normalisierung
Der Java-Type "double" führt gelegentlich zu Fraktalen, die sich teils unschön auswirken können.
Wird in Java z.B. 1/3 gerechnet, so erhält man 0,333333333333333... bis unendlich.
Nimmt man dieses Ergebnis *3, so erhält man wieder 1.
In diesem Fall ist das Verhalten nachvollziehbar. Allerdings führt die Berechnung von ...
362.2 - 362.6
... zu folgendem Ergebnis:
-0.4000000000000341
JayMo normalisiert deshalb alle Zahlen vom Typ "Dec".
Print 362.2 - 362.6 # -0.4
Print 1 / 3 # 0.333333333333
Print 1 / 3 * 3 # 0.999999999999
Wird diese Normalisierung nicht gewünscht, so lässt sich dies mit dem Parser-Switch am Anfang des Skripts abschalten:
>openDec
Spezielle Fälle
Für den Typ "Dec" existieren noch folgende magische Variablen:
infinity
+infinity
-infinity
not_a_number