python re.search() 匹配 int() 的无效文字

python re.search() match invalid literal for int()

我正在尝试将例如 173.4k(在字符串中)转换为 173.400。这是我的代码:

h = "173.4k net worth blabla "

match = re.search('([-+]?\d*\.\d+|\d+)k net worth', h)
if match:
    f = int(match.group(1))*1000
    print(f)

我预期的结果是 173.400 但我得到的是:

ValueError: invalid literal for int() with base 10: '173.4'

有人可以解释一下为什么我会收到这个 ValueError 吗?

import re
h = "173.4k net worth blabla "

match = re.search('([-+]?\d*\.\d+|\d+)k net worth', h)
if match:
    f = float(match.group(1))*1000
    print(f)