Программирование на языке Ruby
Шрифт:
Видно,
Ну а если мы хотим округлять до заданного числа знаков после запятой, но при этом использовать метод «округления до четного»? Тогда нужно добавить в класс
У методов
5.4. Сравнение чисел с плавающей точкой
Печально, но факт: в компьютере числа с плавающей точкой представляются неточно. В идеальном мире следующий код напечатал бы «да», но на всех машинах где мы его запускали, печатается «нет»:
Объясняется это тем, что для хранения числа с плавающей точкой выделено конечное число битов, а с помощью любого, сколь угодно большого, но конечного числа битов нельзя представить периодическую десятичную дробь с бесконечным числом знаков после запятой.
Из-за этой неустранимой неточности при сравнении чисел с плавающей точкой мы
Ниже показан простой способ выполнения сравнения с «поправкой», когда числа считаются равными, если отличаются не более чем на величину, задаваемую программистом:
В зависимости от ситуации может понадобиться задавать разные погрешности. Для этого определим в классе
Можно также ввести совершенно новый оператор для приближенного сравнения, назвав его, например,
Имейте в виду, что это нельзя назвать настоящим решением. При последовательных вычислениях погрешность накапливается. Если вам совершенно необходимы числа с плавающей точкой, смиритесь с неточностями (см. также разделы 5.8 и 5.9).
5.5. Форматирование чисел для вывода
Для вывода числа в заданном формате применяется метод
Чтобы сохранить результат в строке, а не печатать его немедленно, воспользуйтесь методом
Вечный. Книга VI
6. Вечный
Фантастика:
рпг
фэнтези
рейтинг книги
Книга мертвых
7. Пендергаст
Фантастика:
ужасы и мистика
рейтинг книги
Эйнштейн. Его жизнь и его Вселенная
Документальная литература:
биографии и мемуары
рейтинг книги
Барон нарушает правила
3. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Демон Власти
Документальная литература:
публицистика
рейтинг книги