Python - 确保将字符串转换为正确的Float

Har*_*rry 1 python regex

我有可能的价格字符串,如:

20.99, 20, 20.12
Run Code Online (Sandbox Code Playgroud)

有时,用户可能会错误地将字符串发送给我:

20.99.0, 20.0.0
Run Code Online (Sandbox Code Playgroud)

这些应该转换回:

20.99, 20
Run Code Online (Sandbox Code Playgroud)

所以基本上从第二个删除任何东西.如果有的话.

为了清楚起见,他们将是一个人,一次一个,所以只需要一个字符串中的一个价格

任何一个漂亮的班轮想法?

Ble*_*der 8

对于单行,您可以使用.split().join():

>>> '.'.join('20.99.0'.split('.')[:2])
'20.99'
>>> '.'.join('20.99.1231.23'.split('.')[:2])
'20.99'
>>> '.'.join('20.99'.split('.')[:2])
'20.99'
>>> '.'.join('20'.split('.')[:2])
'20'
Run Code Online (Sandbox Code Playgroud)

  • 这不是预期的行为吗?正如OP所说,*只是要清楚,他们会一个人,一次一个,所以只需一个价格* (2认同)
  • @Harry:那么,为什么不至少为其他人做出尝试:D (2认同)