Python - 将字符串数字转换为浮点数

Python - Converting String Numbers To Float

我想将列表中的字符串数字转换为浮点数 我做不到,所以我需要一些帮助。

num = '0.00003533'

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

格式化它没有小数,只有 returns 0.000035 的浮点数,我需要一个浮点数的整个字符串。

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

添加精确的小数是可行的,但是列表中带小数的数字变化很大,所以我不能每次都手动添加它,我如何在格式中自动添加正确的小数? 像 '{':exactdecimalf'} exactdecinal 是一个变量。

我正在使用一个需要浮点数的模块,这就是为什么我不能直接从字符串格式打印它的原因。

您可以拆分字符串并使用

获取最后一部分的长度
len(num.split(".")[1])

然后将其用作小数位数。

也许双精度会适合你。

from decimal import Decimal
print ('{:f}'.format(Decimal(num)))

使用这个

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

如果你想打印成字符串

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