On Fri, Jul 31, 2009 at 6:17 PM, Dr. Phillip M. Feldman<pfeld...@verizon.net> wrote: > > I'd like to be able to convert a float to a string representation in which > the number is rounded to a specified number of digits. If num2str is a > hypothetical function that does this, then num2str(pi,3) would be '3.142' > (not '3.141'). I've been told that there is no such function in Python. I > tried to write this myself, but wasn't successful. Any suggestions will be > appreciated.
You should be able to do this with standard string formatting. ( http://docs.python.org/library/stdtypes.html#string-formatting ) For example: >>> from math import pi >>> pi 3.1415926535897931 >>> "%0.3f" % pi '3.142' If you need it as a function, you could do something like this: >>> def num2str(num, precision): return "%0.*f" % (precision, num) >>> num2str(pi, 4) '3.1416' Does that do what you need? -- Jerry -- http://mail.python.org/mailman/listinfo/python-list