【发布时间】:2019-03-16 03:25:38
【问题描述】:
我在 string 中得到了像 20.5 mg,20 mg 这样的剂量强度值。我只想提取整数或浮点值。
以下是我目前尝试过的
def parseint(self,string):
return int(''.join([x for x in string if x.isdigit()]))
但这并不是在所有情况下都有效。
ex1)
parseint('2 mg')
o/p- 2
ex2)
parseint('10.2 mg')
o/p - 102
预期输出:
i/p "20.5 MG" o/p- 20.5
i/p "20.0 MG" o/p - 20.0
i/p "20.0 MG" o/p - 20.0
【问题讨论】:
-
提示:
'.'不是数字 -
改用
regex -
20.5 和 10.2 也不是整数,你的标题也说浮点数,但你的问题只说明整数,这是正确的吗?
-
' . '不是数字。是的,这就是为什么它没有整数。我怎么也有这个。 -
float("20.5 mg".split()[0])
标签: python python-3.x