Python - Преобразование строковых чисел в число с плавающей точкой - PullRequest
0 голосов
/ 16 февраля 2019

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

num = '0.00003533'

print('{:f}'.format(float(num)))

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

print('{:8f}'.format(float(num)))

добавление точных десятичных чисел работает, но числа в списке с десятичными числами сильно различаются, поэтому я не могу добавлять ее каждый раз вручную, как я могу автоматически добавитьправильное десятичное число внутри формата?что-то вроде '{': correctdecimalf '} variabledecinal является переменной.

Я использую модуль, для которого требуется float, поэтому я не могу напечатать его напрямую из строкового формата.

Ответы [ 3 ]

0 голосов
/ 16 февраля 2019

Может быть, двойная точность подойдет вам.

from decimal import Decimal
print ('{:f}'.format(Decimal(num)))
0 голосов
/ 16 февраля 2019

Используйте это

from decimal import Decimal
num = '0.00003533'
print(Decimal(num)) #0.00003533 

, если вы хотите печатать как строку

print ('{:f}'.format(Decimal(num)))
0 голосов
/ 16 февраля 2019

Вы можете разбить строку и взять длину последней части с помощью

len(num.split(".")[1])

Затем используйте это как количество десятичных знаков.

...