Python:将字符串转换为十进制数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python:将字符串转换为十进制数相关的知识,希望对你有一定的参考价值。
我有一个python列表,其中包含以下格式的字符串:
A1 = [' "29.0" ',' "65.2" ',' "75.2" ']
如何将这些字符串转换为十进制数以对列表元素执行算术运算?
答案
如果希望结果为最接近的二进制浮点数,请使用float
:
result = [float(x.strip(' "')) for x in A1]
如果你想要存储的结果完全使用Decimal
而不是float
:
from decimal import Decimal
result = [Decimal(x.strip(' "')) for x in A1]
另一答案
由于字符串中的额外位,您将需要使用strip()
。
A2 = [float(x.strip('"')) for x in A1]
另一答案
在列表推导中使用内置的float()函数。
A2 = [float(v.replace('"','').strip()) for v in A1]
另一答案
如果您将价格(字符串)转换为十进制价格,那么......
from decimal import Decimal
price = "14000,45"
price_in_decimal = Decimal(price.replace(',',''))
另一答案
A2 = [float(x.strip('"')) for x in A1]
作品,@杰克,但有不必要的0
另一答案
如果要将字符串转换为float:
import re
A1 = [' "29.0" ',' "65.2" ',' "75.2" ']
float_values = [float(re.search(r'd+.d+',number).group()) for number in A1]
print(float_values)
>>> [29.0, 65.2, 75.2]
以上是关于Python:将字符串转换为十进制数的主要内容,如果未能解决你的问题,请参考以下文章
Python - 如何将 int 转换为表示 32 位十六进制数的字符串