Wulfram - 1 year ago 67

Python Question

I have looked in the standard library and on StackOverflow, and have not found a similar question. So, is there a way to do the following without rolling my own function? Bonus points if someone writes a beautiful function if there is no built in way.

`def stringPercentToFloat(stringPercent)`

# ???

return floatPercent

p1 = "99%"

p2 = "99.5%"

print stringPercentToFloat(p1)

print stringPercentToFloat(p2)

>>>> 0.99

>>>> 0.995

Answer Source

Use `strip('%')`

, as:

```
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
```