When I have a value like 5.223701009526849e-05 in most cases I am not interested in all the digest after the dot. Is there a simple way to convert it to a string like '5e-05'? I could do something like: def format_small_number(n): abs_n = abs(n) assert (abs_n < 1) and (abs_n > 0) length = len(str(int(1 / abs_n))) if length <= 4: return '{0}'.format(int(n * 10 ** length) / 10.0 ** length) else: return '{0}E-{1}'.format(int(n * 10 ** length), length)
I use '5E-5' because I prefer that above '5e-5'. I should take care of rounding: now 0.9999 becomes 0.9. But I was wondering if there is a better way. -- Cecil Westerhof Senior Software Engineer LinkedIn: http://www.linkedin.com/in/cecilwesterhof -- https://mail.python.org/mailman/listinfo/python-list