Клас Float
у Ruby представляє числа з плаваючою комою, тобто числа, що мають десяткову частину. Це дозволяє здійснювати високоточні математичні обчислення з десятковими дробами. Нижче наведено детальний огляд класу Float
у Ruby.
Огляд
- Числа з плаваючою комою: Це числа, які можуть мати як цілу, так і дробову частину.
- Внутрішнє представлення:
Float
представляє числа за допомогою стандарту IEEE 754 з подвійною точністю, що означає, що числа зберігаються у форматі 64 біт.
Створення Float
Число з плаваючою комою можна створити декількома способами:
a = 1.23
b = 0.0
c = -123.456
d = 1e-10 # наукова нотація для 1 * 10^-10
Математичні операції
Float
підтримує стандартні математичні операції:
a = 5.5
b = 2.0
sum = a + b # Додавання
difference = a - b # Віднімання
product = a * b # Множення
quotient = a / b # Ділення
exponent = a ** b # Піднесення до степеня
Методи класу Float
Клас Float
має велику кількість методів для роботи з числами з плаваючою комою:
-
Перевірка на спеціальні значення
Float::INFINITY # Нескінченність Float::NAN # Не число (Not a Number) Float::MAX # Максимальне значення Float Float::MIN # Мінімальне нормалізоване значення Float
-
Методи об’єкта
x = -7.65 x.abs # Абсолютне значення x.ceil # Округлення до найближчого більшого цілого x.floor # Округлення до найближчого меншого цілого x.round # Округлення до найближчого цілого x.round(2) # Округлення до вказаної кількості десяткових знаків (в даному випадку до 2) x.truncate # Обрізання дробової частини x.to_i # Перетворення у ціле число x.to_s # Перетворення у рядок x.finite? # Перевірка, чи є число кінцевим x.infinite? # Перевірка, чи є число нескінченним (повертає 1 для позитивної нескінченності, -1 для негативної) x.nan? # Перевірка, чи є число NaN
Приклади
# Перевірка на нескінченність
puts Float::INFINITY.infinite? # 1
puts (-Float::INFINITY).infinite? # -1
# Перевірка на NaN
nan_value = 0.0 / 0.0
puts nan_value.nan? # true
# Округлення
puts 1.23456.round(2) # 1.23
# Абсолютне значення
puts -3.14.abs # 3.14
Зауваження
- Точність: Через спосіб представлення чисел з плаваючою комою, можливі неточності при обчисленнях. Наприклад,
0.1 + 0.2
може не дати точно0.3
через обмеження формату IEEE 754. - Порівняння: Варто бути обережним при порівнянні чисел з плаваючою комою через можливі неточності.
Висновок
Клас Float
у Ruby забезпечує потужний набір інструментів для роботи з числами з плаваючою комою, підтримуючи основні математичні операції та надаючи методи для їх обробки та аналізу. Однак через внутрішні обмеження формату зберігання варто бути уважним до можливих неточностей.