Re: how to convert an integer to a float?

2007-03-08 Thread Antoon Pardon
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?

2007-03-05 Thread Andrew Koenig
[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?

2007-02-27 Thread [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?


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?

2007-02-27 Thread jeff
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?

2007-02-27 Thread Farshid Lashkari
[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?

2007-02-27 Thread Farshid Lashkari
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?

2007-02-27 Thread bearophileHUGS
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?

2007-02-27 Thread Matimus
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?

2007-02-27 Thread Bjoern Schliessmann
[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?

2007-02-27 Thread Grant Edwards
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?

2007-02-27 Thread Subscriber123

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?

2007-02-27 Thread Ben Finney
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