"Christopher Spears" <cspears2...@yahoo.com> wrote

I have a float variable that is very long.

float_a = 1.16667

Thats not really very long!

However, I want to pass the value of float_a to float_b,
but I want the float to be accurate to two decimal points.

float_a = 1.16667
print "%.2f" % float_a
1.17

Rounding issues will give you all sorts of issues here.
However if you really want to round it up or down to 2 digits
then the round() function is what you want.

But I'd be interested in why you need to lose precision
like that, it's not that common a requirement. Usually controlling
the presentation is sufficient (and preferred).

float_b = "%.2f" % float_a
float_b
'1.17'
type(float_b)
<type 'str'>

This doesn't work because it yields a string.

It works in that it returns a string representation of what you want.
It doesn't produce a float because *string formatting* can only
produce strings.

HTH,

--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to