Ruby:
Zahlen runden

Wie:

# Grundlegendes Runden
puts 3.14159.round      # => 3
puts 2.6.round          # => 3

# Präzision angeben
puts 3.14159.round(2)   # => 3.14
puts 2.675.round(2)     # => 2.68

# Abwärts runden
puts 2.9.floor          # => 2

# Aufwärts runden
puts 2.1.ceil           # => 3

# Gegen Null runden
puts -2.9.round         # => -3
puts -2.9.truncate      # => -2

Beispielausgabe:

3
3
3.14
2.68
2
3
-3
-2

Tiefergehend

Das Runden von Zahlen ist nicht neu – Menschen tun dies seit Jahrhunderten, um Berechnungen zu vereinfachen oder um innerhalb der Grenzen ihrer Werkzeuge zu arbeiten. In Ruby ist die round Methode vielseitig, mit der Fähigkeit, standardmäßig zur nächsten ganzen Zahl oder zu einer bestimmten Dezimalstelle zu runden.

Eine Alternative zu round ist floor für das immerwährende Abrunden und ceil für das immerwährende Aufrunden, unabhängig vom Wert der Zahl. Um einfach die Dezimalstellen abzuschneiden, gibt es truncate.

In der Geschichte, wenn es um Computer geht, wird das Runden kritisch im Umgang mit Fließkommaarithmetik aufgrund ihrer inhärenten Ungenauigkeit. Ruby, wie die meisten Sprachen, folgt dem IEEE 754-Standard für Fließkommazahlen, was bedeutet, dass es das Runden auf eine Weise handhabt, die die meisten Programmierer vorhersagen und darauf vertrauen sollten.

Es gibt jedoch mehr zu beachten – Dinge wie das Bankers Rounding (auch als Runde zur Halbgeraden bekannt) sind Konzepte, die Ruby-Entwickler möglicherweise manuell implementieren müssen, da die round Methode es nicht standardmäßig anbietet.

Siehe auch