On Fri, Dec 3, 2010 at 1:52 PM, Christopher Spears <cspears2...@yahoo.com>wrote:
> > I have a float variable that is very long. > > >>> float_a = 1.16667 > > 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 > > I tried the following: > > >>> float_b = "%.2f" % float_a > >>> float_b > '1.17' > >>> type(float_b) > <type 'str'> > > This doesn't work because it yields a string. > > Any suggestions? > This would be good to read: http://docs.python.org/tutorial/floatingpoint.html If you have: float_a = 1.66667 and do round(float_a, 2) you get: round(1.16667, 2) 1.1699999999999999 I don't think that is what you want, but since floating point arithmetic is done in binary there are rounding errors. You might want to look at the decimal module > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor > -- Joel Goldstick
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor