Преобразование плавающего числа в строку в Python

  1. Отформатируйте плавающие числа до фиксированной ширины, используя спецификацию формата и метод format()
  2. Форматирование плавающих чисел в списке до фиксированной ширины
  3. Отформатируйте плавающее число для фиксации ширины с помощью оператора % в Python
  4. Отформатируйте плавающее число до фиксированной ширины с помощью функции round() в Python

В этой статье будут представлены некоторые методы форматирования плавающего числа до фиксированной ширины в Python.

Отформатируйте плавающие числа до фиксированной ширины, используя спецификацию формата и метод format()

Здесь мы будем использовать обычный процесс форматирования с помощью спецификации формата, чтобы исправить ширину плавающих чисел.

Создадим переменную num и присвоим ей плавающее число. Затем мы напечатаем плавающее число в нужном нам формате. Мы собираемся использовать функцию format(), чтобы получить наш результат.

Примеры кодов:

#python 3.x
num = 0.02893574
print ("{:.4f}".format(num))

Выход:

0.0289

Здесь .4f называется спецификацией формата, что означает, что вывод должен содержать только четыре знака после запятой. Если бы мы использовали вместо этого .5f, мы получили бы до пяти цифр после десятичной точки. Пустая строка перед двоеточием : помещается так, чтобы аргумент функции format() занимал это место. В приведенной выше программе аргумент, который мы предоставили, - num. Итак, какое бы значение мы ни имели в num, оно будет передано в пустую строку перед : и отформатировано соответствующим образом.

В python 3.6 мы также можем использовать f'{}' для получения того же результата:

#python 3.x
num = 0.02893574
print (f'{num:.4f}')

Выход:

0.0289

Форматирование плавающих чисел в списке до фиксированной ширины

Мы используем аналогичный синтаксис, чтобы зафиксировать ширину плавающих чисел до определенной цифры после десятичной дроби.

Сначала мы создадим список с несколькими плавающими числами. Затем мы будем использовать цикл for, чтобы взять каждый элемент из списка и отформатировать его соответствующим образом. Мы будем использовать переменную numbers для представления чисел внутри списка. Мы будем печатать числа с плавающей запятой в списке одно за другим с фиксированным количеством цифр после десятичной дроби.

Пример кода:

#python 3.x
list = [18.292164, 52.452189, 999.1212732]
for numbers in list:
    print("{:.3f}".format(numbers))

Выход:

18.292
52.452
999.121

В приведенном выше коде каждое число внутри списка отправляется одно за другим внутри цикла for. Первый элемент списка, то есть list[0], присваивается переменной numbers, и печатается его форматированное значение, то есть 18.293. Это произошло потому, что мы выполнили .3f, который представляет цифры до трех знаков после запятой. Точно так же второй элемент list[1] и третий list[2] также передаются в цикл как переменные numbers и печатаются соответственно.

Эта программа работает до тех пор, пока не будут выполнены все элементы в списке.

Используя f'{}':

Пример кода:

Список ниже содержит те же элементы, что и программа выше. В этом примере мы будем использовать f'{}' вместо функции format().

#python 3.x
list = [18.292164, 52.452189, 999.1212732]
for numbers in list:
    print(f'{numbers:9.3f}')

Выход:

 18.292
 52.452
999.121

Мы можем видеть это, когда получили результат, когда мы использовали f'{}'. Мы также получили желаемый результат согласованным образом. По той же причине обычно лучше использовать f'{}', если мы хотим, чтобы числа с плавающей запятой после десятичной дроби были выровнены.

Отформатируйте плавающее число для фиксации ширины с помощью оператора % в Python

Мы также можем установить фиксированную ширину для плавающего числа с помощью оператора %v. Код может быть похож на функцию printf() в программировании на C.

Мы присвоим переменной num плавающее число и напечатаем значение num с десятичными цифрами до фиксированной ширины. Обратите внимание, что при передаче значения num в оператор печати со спецификатором формата %.4f мы используем %num. Отсутствие % перед num будет синтаксической ошибкой.

Пример кода:

#python 3.x
num = 0.02893574
print ('%.4f'%num)

Выход:

0.0289

Здесь использование %num позволило нам напечатать желаемое значение без какой-либо функции или форматирования строки.

Отформатируйте плавающее число до фиксированной ширины с помощью функции round() в Python

Мы также можем использовать функцию round(), чтобы зафиксировать количество цифр после десятичной точки. Эта функция ограничивает количество цифр после десятичной точки во входном номере. Он также округляет цифру, при которой устанавливается предел, до ее верхнего интегрального значения, если цифра больше, чем значение 5.

Возьмем число с плавающей запятой и присвоим его переменной num. При печати мы будем использовать функцию round(), чтобы ограничить количество цифр после десятичной точки.

Пример кода:

#python 3.x
num = 2.37682
print(round(num,3))

Выход:

2.377

Синтаксис функции округления - round(number, digits). Здесь аргумент number является обязательным, а аргумент digits - необязательным. number также можно использовать как переменную. Если в аргумент digits ничего не передается, то в качестве результата берется только целая часть number.

В приведенной выше программе мы передали значение 2.37682 первому аргументу num, и оно было округлено до трех знаков после десятичной точки, потому что мы передали значение 3 второму аргументу внутри round() метод.

Сопутствующая статья - Python Float

  • Максимальное значение с плавающей запятой в Python