Re: how to convert an integer to a float?
On 2007-03-05, Andrew Koenig [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Hi, I have the following functions, but ' dx = abs(i2 - i1)/min(i2, i1)' always return 0, can you please tell me how can i convert it from an integer to float? I don't think that's what you really want to do. What you really want is for dx to be a float rather than being truncated to an integer. Division is going to behave that way in the future, so if you want it to behave that way now, you can write from __future__ import division at the beginning of your program. If for some reason you don't want to rely on using a version of Python that knows about this future behavior, you might consider dx = float(abs(i2 - i1))/min(i2, i1) I prefer to multiply by 1.0 That has the advantage it continues to work if your numbers happen to be complex. -- Antoon Pardon -- http://mail.python.org/mailman/listinfo/python-list
Re: how to convert an integer to a float?
[EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Hi, I have the following functions, but ' dx = abs(i2 - i1)/min(i2, i1)' always return 0, can you please tell me how can i convert it from an integer to float? I don't think that's what you really want to do. What you really want is for dx to be a float rather than being truncated to an integer. Division is going to behave that way in the future, so if you want it to behave that way now, you can write from __future__ import division at the beginning of your program. If for some reason you don't want to rely on using a version of Python that knows about this future behavior, you might consider dx = float(abs(i2 - i1))/min(i2, i1) as an alternative. -- http://mail.python.org/mailman/listinfo/python-list
how to convert an integer to a float?
Hi, I have the following functions, but ' dx = abs(i2 - i1)/min(i2, i1)' always return 0, can you please tell me how can i convert it from an integer to float? def compareValue(n1, n2): i1 = int(n1) i2 = int(n2) dx = abs(i2 - i1)/min(i2, i1) print dx return dx 0.05 -- http://mail.python.org/mailman/listinfo/python-list
Re: how to convert an integer to a float?
On Feb 27, 7:05 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi, I have the following functions, but ' dx = abs(i2 - i1)/min(i2, i1)' always return 0, can you please tell me how can i convert it from an integer to float? def compareValue(n1, n2): i1 = int(n1) i2 = int(n2) dx = abs(i2 - i1)/min(i2, i1) print dx return dx 0.05 x = x + 0.0 -- http://mail.python.org/mailman/listinfo/python-list
Re: how to convert an integer to a float?
[EMAIL PROTECTED] wrote: Hi, I have the following functions, but ' dx = abs(i2 - i1)/min(i2, i1)' always return 0, can you please tell me how can i convert it from an integer to float? When two integers are involved in a division, the result will also be a division. If one of the operands is a float, then the result will be a float instead. So try casting one of the values to a float before performing the division: dx = float(abs(i2 - i1))/min(i2, i1) -Farshid -- http://mail.python.org/mailman/listinfo/python-list
Re: how to convert an integer to a float?
Farshid Lashkari wrote: When two integers are involved in a division, the result will also be a division. My bad, I meant the result will also be an *integer* -Farshid -- http://mail.python.org/mailman/listinfo/python-list
Re: how to convert an integer to a float?
yinglcs, you can use float() or the new division: 1 / 2 0 1 / float(2) 0.5 from __future__ import division 1 / 2 0.5 Bye, bearophile -- http://mail.python.org/mailman/listinfo/python-list
Re: how to convert an integer to a float?
On Feb 27, 4:05 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi, I have the following functions, but ' dx = abs(i2 - i1)/min(i2, i1)' always return 0, can you please tell me how can i convert it from an integer to float? def compareValue(n1, n2): i1 = int(n1) i2 = int(n2) dx = abs(i2 - i1)/min(i2, i1) print dx return dx 0.05 dx = float(abs(i2 -i1))/min(i2, i1) Or you could just put from __future__ import division at the top of your file. see http://www.python.org/dev/peps/pep-0238/ for details. -Matt -- http://mail.python.org/mailman/listinfo/python-list
Re: how to convert an integer to a float?
[EMAIL PROTECTED] wrote: def compareValue(n1, n2): i1 = int(n1) i2 = int(n2) dx = abs(i2 - i1)/min(i2, i1) print dx return dx 0.05 You could also prepend from __future__ import division Regards, Björn -- BOFH excuse #237: Plate voltage too low on demodulator tube -- http://mail.python.org/mailman/listinfo/python-list
Re: how to convert an integer to a float?
On 2007-02-28, jeff [EMAIL PROTECTED] wrote: On Feb 27, 7:05 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi, I have the following functions, but ' dx = abs(i2 - i1)/min(i2, i1)' always return 0, can you please tell me how can i convert it from an integer to float? def compareValue(n1, n2): i1 = int(n1) i2 = int(n2) dx = abs(i2 - i1)/min(i2, i1) print dx return dx 0.05 x = x + 0.0 How, um, perlesque. I rather think that this is a bit more pythonic: x = float(x) -- Grant Edwards grante Yow! I'm a fuschia bowling at ball somewhere in Brittany visi.com -- http://mail.python.org/mailman/listinfo/python-list
Re: how to convert an integer to a float?
How did the new division ever get approved?! That's not pythonic! What if you then need to divide two integers and find an element in a list or dict? It will give you an error! I know that at the moment it is not implemented unless imported from __future__, but I expect that it eventually might be. That would be a problem with backwards compatibility. On 2/27/07, Bjoern Schliessmann [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] wrote: def compareValue(n1, n2): i1 = int(n1) i2 = int(n2) dx = abs(i2 - i1)/min(i2, i1) print dx return dx 0.05 You could also prepend from __future__ import division Regards, Björn -- BOFH excuse #237: Plate voltage too low on demodulator tube -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list
Re: how to convert an integer to a float?
Please don't top-post; instead, reply below the lines you're responding to, and trim any irrelevant lines from the original. Subscriber123 [EMAIL PROTECTED] writes: How did the new division ever get approved?! By being introduced as a PEP, which is now numbered PEP 238. URL:http://www.python.org/dev/peps/pep-0238/ That's not pythonic! What if you then need to divide two integers and find an element in a list or dict? Then your code is dependent on ambiguous behaviour which has changed in newer Python versions. As described in the above document, the '//' operator will unambiguously request floor division, even in older versions of Python. I know that at the moment it is not implemented unless imported from __future__, but I expect that it eventually might be. Please read PEP 238 to see the implementation plan. That would be a problem with backwards compatibility. The older Python versions aren't going away. Anyone who wants their old code to work with new versions of Python has a responsibility to see what parts of their code need to be updated. -- \ My roommate got a pet elephant. Then it got lost. It's in the | `\ apartment somewhere. -- Steven Wright | _o__) | Ben Finney -- http://mail.python.org/mailman/listinfo/python-list