- To: Carlo Sogono <carlo@xxxxxxxxxxxxx>
- Subject: Re: [coders] Python newbie question
- From: Ben Leslie <benno@xxxxxxxxxxx>
- Date: Tue, 14 Nov 2006 12:50:17 +1100
- Cc: coders@xxxxxxxxxxx
- User-agent: Mutt/1.4.2.2i
On Tue Nov 14, 2006 at 12:29:05 +1100, Carlo Sogono wrote:
>Steve Lindsay wrote:
>>I suspect it's related to this:
>>
>>http://www.python.org/doc/faq/general.html#id34
>
>Thanks. Without having gone through all the links everyone posted, I
>have come across this line in your/Tim's link:
>
>"Again, this has nothing to do with Python, but with the way the
>underlying C platform handles floating point numbers, and ultimately
>with the inaccuracy you'll always have when writing down numbers as a
>string of a fixed number of digits."
>
>However I'm pretty sure C applications do not handle floats the same
>way. This still gives me a 'normal' response:
>
>int main() {
> float a = 8.0, b = 0.45, res;
>
> res = a + b;
> printf("%f\n", res);
>
> return (EXIT_SUCCESS);
>}
>
>So my new question is, why doesn't C handle floats the same way?
Try
print "%f" % (8.0 + 0.45)
and compare to:
>>> 8.0 + 0.45
Benno