Il giorno 14 aprile 2015 01:26, Carpediem <i.carped...@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 -- ____________________________ Giuseppe Amato e-mail: giuam...@gmail.com
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python