La funzione int() molto probabilmente sta funzionando bene. Sono i numeri a
non essere esattamente quelli che credete.
Per prima cosa, date un'occhiata alla voce sopra "Perché ottengo
una lunga serie di decimali (es. 19.9499999999999) invece dei numeri che
dovrei ottenere (es. 19.95)?".
Per esempio, questo
print int(0.6/0.2-2), "\n";
nella maggior parte dei computer stamperà 0, non 1, visto che anche
semplici numeri quali 0.6 e 0.2 non possono essere rappresentati esattamente da
numeri in virgola mobile. Quello che pensate essere sopra un 'tre' è in effetti una cosa più
simile a 2.9999999999999995559.
Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen e Nathan
Torkington. Tutti i diritti riservati.
Questa documentazione è libera; puoi ridistribuirla e/o
modificarla secondo gli stessi termini applicati al Perl.
Indipendentemente dalle modalitè di distribuzione, tutti gli esempi di
codice in questo file sono rilasciati al pubblico dominio. Potete, e
siete incoraggiati a farlo, utilizzare il presente codice o qualunque
forma derivata da esso nei vostri programmi per divertimento o per profitto.
Un semplice commento nel codice che dia riconoscimento alle FAQ sarebbe cortese
ma non è obbligatorio.
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per
porre quesiti di tipo tecnico, per rimanere aggiornato su meeting,
incontri, manifestazioni e novità su Perl.it. Iscriviti!