Elixir:
Avrundning av tal
Hur man gör:
I Elixir kan du använda Float.round/2
för att avrunda ett flyttal. Du kan ange antalet decimaler du vill behålla. Så här fungerar det:
# Avrunda ett tal till inga decimaler
Float.round(3.14159) # => 3.0
# Avrunda ett tal till 2 decimaler
Float.round(3.14159, 2) # => 3.14
# Avrunda ett tal till en negativ precision till närmaste 10
Float.round(123.456, -1) # => 120.0
Fördjupning
Avrundning av tal är ett klassiskt problem inom datavetenskap—så mycket att valet av avrundningsstrategi kan påverka finansiella system, vetenskapliga beräkningar och mer. Elixirs Float.round/2
använder som standard “halv upp”-avrundning, vilket liknar den traditionella avrundningen som lärs ut i matematikklass.
Om du behöver andra typer av avrundning låter Elixir dig skapa din egen. Betrakta till exempel “golvet”-avrundning (alltid nedåt) eller “taket”-avrundning (alltid uppåt). Du skulle använda Float.floor/1
eller Float.ceil/1
, respektive.
# Golvet-avrundning
Float.floor(3.999) # => 3.0
# Taket-avrundning
Float.ceil(3.001) # => 4.0
Dessa alternativ hjälper till att anpassa avrundningen till de exakta behoven i din applikation, vare sig det är finansiella beräkningar, grafikrendering eller dataapproximation.
Se även
För mer om Elixirs avrundningsfunktioner och flyttal:
- Elixirs officiella dokumentation om
Float
: https://hexdocs.pm/elixir/Float.html - IEEE-standarden för flyttalsaritmetik (IEEE 754): https://ieeexplore.ieee.org/document/4610935