Ruby:
Округлення чисел
Як це зробити:
# Базове округлення
puts 3.14159.round # => 3
puts 2.6.round # => 3
# Зазначення точності
puts 3.14159.round(2) # => 3.14
puts 2.675.round(2) # => 2.68
# Округлення вниз
puts 2.9.floor # => 2
# Округлення вверх
puts 2.1.ceil # => 3
# Округлення в сторону нуля
puts -2.9.round # => -3
puts -2.9.truncate # => -2
Приклад виводу:
3
3
3.14
2.68
2
3
-3
-2
Поглиблене вивчення
Округлення чисел не є новим—людство робить це вже століттями для спрощення обчислень або для роботи в межах своїх інструментів. В Ruby метод round
є універсальним, здатним за замовчуванням округляти до найближчого цілого числа або до зазначеної десяткової позиції.
Альтернативою до round
є floor
для постійного округлення вниз та ceil
для постійного округлення вгору, незалежно від значення числа. Для простого відсікання десяткових місць використовується truncate
.
Історично, коли мова заходить про комп’ютери, округлення стає критичним у роботі з числами з плаваючою комою через їхню властиву невизначеність. Ruby, як і більшість мов, слідує стандарту IEEE 754 для чисел з плаваючою комою, що означає, що воно обробляє округлення таким чином, який програмісти повинні мати можливість передбачити та на який покладатися.
Але це ще не все—речі, такі як банківське округлення (також відоме як округлення до найближчого парного), є концепціями, які розробники Ruby можуть потребувати вручну реалізувати, оскільки метод round
не пропонує це за замовчуванням.
Дивіться також
- Документація Ruby для методу
round
класу Floats. - IEEE стандарт для арифметики чисел з плаваючою комою (IEEE 754).
- Розуміння точності чисел з плаваючою комою, для глибшого вникнення в те, як комп’ютери обробляють десяткові числа.