Целые и вещественные числа
Числовые типы в Ruby
«Целые и вещественные числа» — бесплатный урок Ruby Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ruby Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ruby Academy содержит 4 уроков всего.
Два числовых типа
В Ruby есть два распространённых числовых типа: целые числа и числа с плавающей точкой.
puts 42.class
puts 3.14.classЦелые числа не ограничены
Целые числа Ruby могут увеличиваться настолько, насколько позволяет память. Неожиданного переполнения не будет.
big = 2 ** 100
puts bigЦелочисленное деление
При делении двух целых чисел получается целочисленный результат без остатка.
puts 7 / 2
puts 10 / 3Деление с плавающей точкой
Если хотя бы один операнд — число с плавающей точкой, результат также будет числом с плавающей точкой и десятичной частью.
puts 7.0 / 2
puts 7 / 2.0Преобразование типов
Используйте to_f, чтобы получить число с плавающей точкой, и to_i, чтобы получить целое число. to_i отбрасывает дробную часть в сторону нуля.
puts 5.to_f
puts 3.9.to_i
puts (-3.9).to_iОкругление
round округляет до ближайшего целого числа или до указанного количества знаков после запятой, если передан аргумент.
puts 3.14159.round
puts 3.14159.round(2)Округление вверх и вниз
ceil округляет вверх, а floor — вниз независимо от дробной части.
puts 3.2.ceil
puts 3.8.floorПроблема точности чисел с плавающей точкой
Числа с плавающей точкой хранятся в двоичном виде и не могут точно представить каждое десятичное число. Поэтому 0.1 + 0.2 не равно в точности 0.3.
puts 0.1 + 0.2
puts (0.1 + 0.2).round(2)Проверка свойств чисел
Проверяйте такие свойства с помощью вопросов, как even?, odd?, zero? и positive?.
puts 4.even?
puts 7.odd?
puts 0.zero?
puts (-5).negative?Абсолютное значение и знак
abs возвращает величину числа. Сравнения и clamp помогают удерживать значения в диапазоне.
puts (-9).abs
puts 15.clamp(0, 10)Удобное чтение больших чисел
Используйте символы подчёркивания, чтобы большие числовые литералы было легче читать. Ruby их игнорирует.
population = 8_000_000
puts populationБыстрая проверка
Проверьте свои знания о целых числах и числах с плавающей точкой.
Повторение
Вы изучили числовые типы:
- целые числа (без ограничений) и числа с плавающей точкой
- деление целых чисел и деление чисел с плавающей точкой
to_i/to_f,round,ceil,floor- проблемы точности чисел с плавающей точкой, их свойства,
abs,clampи символы подчёркивания
Далее: арифметика и операторы.
puts (22.0 / 7).round(3)Часто задаваемые вопросы
Урок «Целые и вещественные числа» бесплатный?
Да — полный текст урока «Целые и вещественные числа» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Ruby Academy, подпишись на CoddyKit PRO. Курс Ruby Academy содержит 4 уроков всего.
Чему я научусь в уроке «Целые и вещественные числа»?
Числовые типы в Ruby Ты практикуешь Ruby Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Ruby Academy?
Предыдущий опыт не требуется. Ruby Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Целые и вещественные числа»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Ruby Academy?
Да. Каждый урок Ruby Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Целые и вещественные числа
- Арифметика и операторы
- Модуль Math
- Рациональные числа и BigDecimal