Suresh Jeevanandam wrote: > I want to convert a string to float value. The string contains > engineering symbols. > > For example, > > s = '12k' > > I want some function which would return 12000 > function(s) > => 12000.0 > I searched the web, but could not find any function.
how about: SI_prefixes = { 'Y':24, 'Z':21, 'E':18, 'P':15, 'T':12, 'G':9, 'M':6, 'k':3, 'h':2, 'd':-1, 'c':-2, 'm':-3, u'\xb5':-6, 'u':-6, 'n':-9, 'p':-12, 'f':-15, 'a':-18, 'z':-21, 'y':-24 } def myfloat(str): try: exp = SI_prefixes[str[-1]] return float(str[:-1]) * 10**exp except KeyError: return float(str) ? </F> -- http://mail.python.org/mailman/listinfo/python-list