将字符串百分比转换为浮点数的干净方法是什么?

新手上路,请多包涵

我查看了标准库和 StackOverflow,但没有发现类似的问题。那么,有没有办法在不滚动我自己的函数的情况下执行以下操作?如果有人在没有内置方式的情况下编写了一个漂亮的函数,则可以获得加分。

 def stringPercentToFloat(stringPercent)
    # ???
    return floatPercent

p1 = "99%"
p2 = "99.5%"
print stringPercentToFloat(p1)
print stringPercentToFloat(p2)

>>>> 0.99
>>>> 0.995

原文由 Wulfram 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 539
2 个回答

使用 strip('%') ,作为:

 In [9]: "99.5%".strip('%')
Out[9]: '99.5'             #convert this to float using float() and divide by 100

In [10]: def p2f(x):
   ....:    return float(x.strip('%'))/100
   ....:

In [12]: p2f("99%")
Out[12]: 0.98999999999999999

In [13]: p2f("99.5%")
Out[13]: 0.995

原文由 Ashwini Chaudhary 发布,翻译遵循 CC BY-SA 4.0 许可协议

float(stringPercent.strip('%')) / 100.0

原文由 Mark Ransom 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题