Ruby:
Zaokrąglanie liczb

Jak to zrobić:

# Podstawowe zaokrąglanie
puts 3.14159.round      # => 3
puts 2.6.round          # => 3

# Określanie dokładności
puts 3.14159.round(2)   # => 3.14
puts 2.675.round(2)     # => 2.68

# Zaokrąglanie w dół
puts 2.9.floor          # => 2

# Zaokrąglanie w górę
puts 2.1.ceil           # => 3

# Zaokrąglanie w stronę zera
puts -2.9.round         # => -3
puts -2.9.truncate      # => -2

Wynik przykładowy:

3
3
3.14
2.68
2
3
-3
-2

Szczegółowe omówienie

Zaokrąglanie liczb nie jest czymś nowym—ludzie robili to od wieków, aby ułatwić sobie obliczenia lub pracować w granicach możliwości swoich narzędzi. W Ruby, metoda round jest wszechstronna, z możliwością zaokrąglania do najbliższej liczby całkowitej domyślnie lub do określonego miejsca dziesiętnego.

Alternatywą dla round jest floor dla zawsze zaokrąglania w dół, i ceil dla zawsze zaokrąglania w górę, niezależnie od wartości liczby. aby po prostu odciąć miejsca dziesiętne, masz do dyspozycji truncate.

Historycznie, jeśli chodzi o komputery, zaokrąglanie staje się kluczowe przy obchodzeniu się z arytmetyką zmiennoprzecinkową ze względu na jej nieodłączną niedokładność. Ruby, jak większość języków, podąża za standardem IEEE 754 dla liczb zmiennoprzecinkowych, co oznacza, że obsługuje zaokrąglanie w sposób, który większość programistów powinna być w stanie przewidzieć i na który powinna móc polegać.

Jest jednak więcej—rzeczy takie jak zaokrąglanie bankowe (znane również jako zaokrąglanie do najbliższej parzystej) to koncepcje, które programiści Ruby mogą potrzebować zaimplementować ręcznie, ponieważ metoda round nie oferuje tego z marszu.

Zobacz również