[pyar] Int anti-intuitivo

QliX=D! [aka EHB] qlixed en gmail.com
Mar Nov 16 21:22:30 ART 2010


On Tue, Nov 16, 2010 at 8:40 PM, Tordek <kedrot en gmail.com> wrote:

> On 16/11/10 20:33, Hystrix wrote:
>
>>
>> Pero en el cuarto caso queres convertir un string que no representa a
>> un int, es logico que falle.
>>
>
> "Lógico" es relativo. En PHP, intval() devuelve 2, porque parsea todo lo
> que puede.
>
>
Es logico que si vos queres que una "representacion" se convierta en un int
te funcione SI y SOLO SI todo la "representacion" puede ser procesada.
Ahora que otros lenguajes te den las cosas a medio hacer porque medio
pudieron convertir tu "representacion" completa en algo medio entendible, me
parece medio pelo :D
Uso representacion porque con otras cosas, no solo con strings puede fallar
el int().



>
>
>  Lo que si tiene que funcionar es:
>
>>
>>   int(float("2.1"))
>>>>>
>>>> 2
>>
>
> "Tiene que funcionar" es relativo:
>
> >>> int(float("9999999999999999.0"))
> 10000000000000000
>
>
No, no tiene por que ser relativo en este caso por que:

In [1]: int(float(9999999999999999.0))
Out[1]: 9999999999999998L

In [2]: int(float("9999999999999999.0"))
Out[2]: 9999999999999998L

In [3]:

In [4]: float("9999999999999999.0")
Out[4]: 9999999999999998.0

In [5]: float("9999999999999999.0")
Out[5]: 9999999999999998.0

Se comporta de la misma HORRIBLE forma. Por la HORRIBLE presicion de Python.
(Si use horrible como calificativo de python... y que? :P)

Igualmente la intuitividad no es un concepto absoluto, en cierta forma es
relativo, ya que se acota a las capacidades y experiencias del individuo en
cuestion.
Debido a tu experiencia con PHP esperabas que algo se comporte de una forma
determinada, que, por definicion de ese nuevo algo (Python) no es asi.

En fin...
Saludillos desde oscurolandia....

EHB
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20101116/56aad744/attachment.html>


More information about the pyar mailing list