possible to round number and convert to string?
Jerry Hill
malaclypse2 at gmail.com
Fri Jul 31 18:42:03 EDT 2009
On Fri, Jul 31, 2009 at 6:17 PM, Dr. Phillip M.
Feldman<pfeldman at 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
More information about the Python-list
mailing list