Come verificare se un numero è un float in Python


Migliore risposta

In Python, puoi conoscere il tipo di set di dati in qualsiasi programma, usando type () funzione.

Se un numero è float, il codice stamperà comunque il tipo. Un esempio:

a = 2 #integer

b = "Cosmos" #string

c = 3.4 #float

print(type(a))

print(type(b))

print(type(c))

Loutput mostrerà naturalmente il tipo di dati di ciascuno, con il valore nella variabile c come float. Quindi, questo è il modo più semplice e veloce per sapere se un tipo di dati è float.

Spero aiuta 🙂

Risposta

Dipende dalla lingua. Alcune lingue (come JavaScript) hanno un operatore typeof che puoi utilizzare per distinguere. Sebbene in JavaScript, questo non ti aiuterà, poiché non esiste un numero intero in JavaScript. JavaScript ha un tipo di numero unificato che incapsula sia numeri interi che float, quindi i modi per verificarli includono

n - Math.floor(n) > 0

// 3.14 - 3.00 = 0.14. 0.14 > 0.00

n.toString().indexOf(".") == -1

// indexOf() returns -1 when it can’t find the given substring

Se stai usando C (o un linguaggio che ha un sistema di tipi nominali statici), puoi fare qualcosa di simile:

(n - (int) n) > 0

Quello che succede qui è che loperatore (int) esegue il cast del tipo del suo operando per forzarlo ad essere un numero intero. questo “taglia” la parte decimale, avendo così lo stesso effetto di Math.floor di JavaScript.

Tuttavia, cè un avvertimento. A volte, piccole differenze sono troppo piccole per loperatore di uguaglianza. 1 == 0.9999999999999999 è falso, ma 1 == 0.99999999999999999 è vero. In C, ad esempio, potresti dover sostituire > 0 con > FLT\_EPSILON e #include . FLT\_EPSILON è una costante che rappresenta il più piccolo float rappresentabile. Puoi usarlo quando differisci due float e assicurati che non si confrontino erroneamente uguali. Puoi farlo sottraendoli e controllando che la differenza sia maggiore di (“non uguale”) o minore di o uguale a (“uguale”) FLT\_EPSILON.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *