Arredondamento de números

Clojure:
Arredondamento de números

Como fazer:

Em Clojure, usamos principalmente Math/round, Math/floor e Math/ceil:

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

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

Para casas decimais específicas, multiplicamos, arredondamos e dividimos:

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

Aprofundamento

Antes dos sofisticados linguagens de programação, o arredondamento era um processo manual, imagine o ábaco ou papel. Na programação, é crucial para a representação de números devido às limitações de precisão de ponto flutuante.

Alternativas para arredondamento incluem o uso da classe BigDecimal para controle de precisão ou bibliotecas como clojure.math.numeric-tower para funções matemáticas avançadas. O Math/round de Clojure depende das funções Math.round, Math/floor e Math/ceil do Java, o que significa que herda as mesmas nuances de float e double.

Do ponto de vista da implementação, ao arredondar em Clojure, lembre-se de que ele automaticamente usa precisão dupla ao lidar com decimais. Cuidado com erros de arredondamento!

Veja Também