operation with strings and numbers
Carlos Ribeiro
carribeiro at gmail.com
Fri Oct 15 13:46:26 EDT 2004
On Fri, 15 Oct 2004 18:35:16 +0200, Hellas <hellas_74 at hotmail.com> wrote:
> Hello guy
> I'm italian boy, I need help for doing a strange thing with numbers
>
> I have a number from operation like this:
> a = float("010.123")
> b = float("001.124")
> p= a*b
> p="%06.3f" % p
> the resulted is "_11,278" where "_" is a space
> I must to change the formatting of this number in "011278" but I don't known
> what to do
> Could you help me please?
> thanks a lot
There are two things that you need to do: fix the format string, and
process the string after the conversion is made. Assuming you want to
do (1), there is a very simple mistake to fix. Try this:
>>> "%07.3f" % p
'011.378'
Instead of "06", use "07" -- remember that you have to count the "."
in the floating point representation. After you've done that, remove
the "." from the resulting string, by replacing it with a empty
string:
s = "%07.3f" % p
s = s.replace(".","")
If you want to do everything into a single line, then just do it:
s = ("%07.3f" % p).replace(".","")
Another option is to convert the floating point number to a integer
*before* formatting:
>>> "%06d" % int(p*1000)
'011378'
--
Carlos Ribeiro
Consultoria em Projetos
blog: http://rascunhosrotos.blogspot.com
blog: http://pythonnotes.blogspot.com
mail: carribeiro at gmail.com
mail: carribeiro at yahoo.com
More information about the Python-list
mailing list