Существуют следующие методы форматирования значений с плавающей запятой (float) в Python:
- Использование функции format().
- Использование спецификатора формата «%f».
- Применение функции round().
- С помощью Python f-строки.
Способ 1: использование функции format()
Для форматирования значений с плавающей запятой в Python вы можете использовать метод «format()». format() — это встроенная функция, которая допускает множественные замены и форматирование значений.
Пример
|
1 2 3 4 5 |
x = 211911461911461819112146 y = 2**70 z = x / y print("{:.2f}".format(z)) |
Выход
|
1 |
179.50 |
Вывод возвращает строку. Чтобы получить вывод в виде числа с плавающей запятой, используйте функцию float().
|
1 2 3 4 5 |
x = 211911461911461819112146 y = 2**70 z = x / y print(float("{:.2f}".format(z))) |
Выход
|
1 |
179.5 |
Способ 2: спецификатор формата «%f»
Чтобы отформатировать значение с плавающей запятой до двух знаков после запятой в Python, вы можете использовать спецификатор формата %.2f внутри функции print().
|
1 2 3 4 5 |
x = 211911461911461819112146 y = 2**70 z = x / y print("%.2f" % z) |
Выход
|
1 |
179.50 |
Чтобы отформатировать до трех знаков после запятой, используйте %.3f.
|
1 2 3 4 5 |
x = 211911461911461819112146 y = 2**70 z = x / y print("%.3f" % z) |
Выход
|
1 |
179.496 |
Вы можете видеть, что когда мы печатаем только два десятичных знака, оно автоматически округляется до ближайшего целого числа.
Тем не менее, печать числа до трех знаков после запятой не округляется до ближайшего целого числа. 0,496 печатается как есть, поскольку нам нужно плавающее значение до трех знаков после запятой.
Способ 3: функция round()
Round() — это встроенный метод Python, который возвращает число с плавающей запятой, округленное до заданных цифр после запятой.
|
1 2 3 4 5 |
x = 211911461911461819112146 y = 2**70 z = x / y print(round(z, 2)) |
Выход
|
1 |
179.5 |
Но учтите, что поведение функции round() для чисел с плавающей запятой в некоторых случаях может быть неожиданным. Например, round(3,575, 2) дает 3,57 вместо ожидаемых 3,58.
Это не ошибка: это результат того, что большинство десятичных дробей не могут быть представлены точно как числа с плавающей запятой.
Способ 4: использование f-строк Python
Python f-String — это улучшенный способ по сравнению с предыдущими методами форматирования. Вы можете прочитать больше на PEP8.
Давайте используем f-строки для форматирования значения с плавающей запятой.
|
1 2 3 4 5 |
x = 211911461911461819112146 y = 2**70 z = x / y print(f'{z:.2f}') |
Выход
|
1 |
179.50 |
Он хорошо работает с длинными вычислениями с операторами и не нуждается в скобках.
