Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is a clean way to convert a string percent to a float?

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 
like image 240
Wulfram Avatar asked Sep 14 '12 22:09

Wulfram


1 Answers

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 
like image 170
Ashwini Chaudhary Avatar answered Sep 20 '22 19:09

Ashwini Chaudhary