float to string conversion

Alex Martelli aleaxit at yahoo.com
Mon Dec 18 15:09:21 EST 2000


<deragon at 8d.com> wrote in message news:91lmt3$4b8$1 at nnrp1.deja.com...
> Greetings.
>
>
>   I am embarrassed to ask this since it is trivial, but
>   I cannot figure out how to convert a float to a string (obviously,
>   I am new to python).  Somehow, I could not find in the 2.0
>   documentation the syntax to perform the operation.

To convert 'anything' to string, you can apply the str() built-in
function:


>   The following in my function:
>
>     return MSISDN + " check FAILED:  $" + balance + errormsg

return MSISDN + " check FAILED:  $" + str(balance) + errormsg


But you also have alternatives!  The % operator, with a string
as its left operand, does a 'format' -- using format-characters
modeled on C (sorry, I don't know where to find documentation
of what Python does that doesn't depend on docs for C's own
printf!).

return "%s check FAILED: $%s %s" % (
    MSISDN, balance, errormsg)

this is one equivalent alternative to the above, as, at each
place, it's using the '%s' format, which indicates transforming
to string.  But you can make it better, since you can use a
more specialized '%f' fixed-point format and specify two
decimals...:

return "%s check FAILED: $%.2f %s" % (
    MSISDN, balance, errormsg)

this may give, e.g., '$7.00', which is more likely to be the
format you desire than 'whatever string happens'.


Alex






More information about the Python-list mailing list