[Python] Richiesta chiarimento per calcoli con numeri decimali

Carpediem i.carpediem a tiscali.it
Mar 14 Apr 2015 22:30:20 CEST



Il 14/04/2015 10:23, Giuseppe Amato ha scritto:
>
>
> Il giorno 14 aprile 2015 01:26, Carpediem <i.carpediem a tiscali.it 
> <mailto:i.carpediem a tiscali.it>> ha scritto:
>
>     A questo punto, quindi, se chiedo di stampare s invece che
>     ritrovarmi il valore 1 ottengo 0
>
>
> Beh il punto è che stai chiedendo una cosa e ne vuoi un'altra.
>
> >>> sb = 3287628061
> >>> type(sb)
> <type 'long'>
> >>> mb = sb / 60
> >>> type(mb)
> <type 'long'>
> >>> mb
> 54793801L
> >>> m1 = int(mb)
> >>> type(m1)
> <type 'int'>
> >>> m1
> 54793801
> >>> s = int ((mb-m1)*60)
> >>> type(s)
> <type 'int'>
> >>> s
> 0
>
> Nel codice che hai scritto i decimali non sono presi in 
> considerazione, perché stai facendo operazioni su interi.
> Inoltre, la funzione int() non arrotonda ma converte, ciò vuol dire 
> che 0.1 o 0.99 o 0.11111111111111112344 daranno lo stesso risultato: 
> 0, che è la parte intera del numero.
> Non si tratta di un problema di virgola mobile, ma un problema di 
> funzione, come già ti dicevano usa round().
>
> Ciao
>
> Grazie a te e a tutti quelli che si sono adoperati a rispondermi. Ho 
> usato round e ho risolto il problema. Grazie ancora a tutti
> ____________________________
> Giuseppe Amato
> e-mail: giuamato a gmail.com <mailto:giuamato a gmail.com>
>
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python

-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150414/7c48da9b/attachment.html>


Maggiori informazioni sulla lista Python