Clojure:
Zahlen runden

Wie:

In Clojure verwenden wir hauptsächlich Math/round, Math/floor und Math/ceil:

(Math/round 3.5) ; => 4
(Math/round 3.4) ; => 3

(Math/floor 3.7) ; => 3.0
(Math/ceil 3.2)  ; => 4.0

Für spezifische Dezimalstellen multiplizieren, runden und teilen wir:

(let [num 3.14159
      scale 1000]
  (/ (Math/round (* num scale)) scale)) ; => 3.142

Tiefergehend

Bevor es ausgeklügelte Programmiersprachen gab, war das Runden ein manueller Prozess, denke an den Abakus oder Papier. In der Programmierung ist es aufgrund von Präzisionsbegrenzungen bei Fließkommazahlen für die Zahlendarstellung entscheidend.

Alternativen zum Runden beinhalten die Verwendung der BigDecimal-Klasse für Präzisionskontrolle oder Bibliotheken wie clojure.math.numeric-tower für fortgeschrittene mathematische Funktionen. Clojures Math/round basiert auf Javas Math.round, Math/floor und Math/ceil Funktionen, was bedeutet, dass es die gleichen Float- und Double-Nuancen erbt.

Implementierungstechnisch, wenn in Clojure gerundet wird, denken Sie daran, dass automatisch eine doppelte Genauigkeit bei Dezimalzahlen verwendet wird. Passen Sie auf Rundungsfehler auf!

Siehe auch