On 06. 02. 11 18:40, mrockel wrote:
> Marco,
> please read,
> http://docs.python.org/tutorial/floatingpoint.html#tut-fp-issues
>
> Other surprises follow from this one. For example, if you try to round the value 2.675 to two decimal places, you get this
>>>> round(2.675, 2)
> 2.67
> The documentation for the built-in round() function says that it rounds to the nearest value, rounding ties away from zero. Since the decimal fraction 2.675 is exactly halfway between 2.67 and 2.68, you might expect the result here to be (a binary approximation to) 2.68. It’s not, because when the decimal string 2.675 is converted to a binary floating-point number, it’s again replaced with a binary approximation, whose exact value is
> 2.67499999999999982236431605997495353221893310546875
> Since this approximation is slightly closer to 2.67 than to 2.68, it’s rounded down.
>
i hope i will not look too ridiculous, but i have the feeling that
accounting (in terms of maths) is not more than BASIC ARITHMETIC. so why
on earth would you use floating point in the first place??? there is a
function which sets the precision to whatever one needs: 2, 3, 4, maybe
5 decimals. why do you need to "float"?
On 06. 02. 11 18:40, mrockel wrote: docs.python. org/tutorial/ floatingpoint. html#tut- fp-issues 998223643160599 749535322189331 0546875
> Marco,
> please read,
> http://
>
> Other surprises follow from this one. For example, if you try to round the value 2.675 to two decimal places, you get this
>>>> round(2.675, 2)
> 2.67
> The documentation for the built-in round() function says that it rounds to the nearest value, rounding ties away from zero. Since the decimal fraction 2.675 is exactly halfway between 2.67 and 2.68, you might expect the result here to be (a binary approximation to) 2.68. It’s not, because when the decimal string 2.675 is converted to a binary floating-point number, it’s again replaced with a binary approximation, whose exact value is
> 2.6749999999999
> Since this approximation is slightly closer to 2.67 than to 2.68, it’s rounded down.
>
i hope i will not look too ridiculous, but i have the feeling that
accounting (in terms of maths) is not more than BASIC ARITHMETIC. so why
on earth would you use floating point in the first place??? there is a
function which sets the precision to whatever one needs: 2, 3, 4, maybe
5 decimals. why do you need to "float"?
i am sure you will find the midway...
bogdan